На самом деле все сводится к одному: JavaScript чувствителен к регистру. Именно поэтому он различает Object
и object
.
Object
, Array
, Function
и Number
не являются ключевыми словами и не являются в точности «особыми» (как вы думаете, они подразумевают) словами.
Они не более чем встроенные типы функций / классов в JavaScript (вы можете сделать для них typeof
и посмотреть). Сейчас вы не часто используете их часто, поскольку существуют синтаксические альтернативы для создания объектов каждого из этих типов, например:
var obj = {};
var func = function() {};
var arr = [];
var num = 123;
Остальные, о которых вы упоминаете (object
, array
, method
, number
, foo
), не являются ключевыми словами или «специальными» словами либо просто потому, что, как я говорю, JavaScript чувствителен к регистру, они ничего не значат в JavaScript по сравнению с их заглавными буквами. Если, конечно, вы не дадите им значение сами, объявив переменные с этими именами.