Являются ли примитивные типы number, string, boolean свойствами объекта Global в JavaScript?
Здравствуйте.
Являются ли примитивные типы number, string, boolean свойствами объекта Global в JavaScript?
К какому объекту они принадлежат?
Гоогль - понятно, но ничего для себя там толком не
нашел. Спасибо.
Вот , что-то похожее хотел услышать для успокоения души. То есть примитивные типы по определению не могут быть свойствами объекта и не могут быть объектами?
Bhudh: Cпасибо, но там нет четких разделений на примитивы и объекты.
В целом: "Вот , что-то похожее хотел услышать для успокоения души. То есть примитивные типы по определению не могут быть свойствами объекта и не могут быть объектами?" - верные мысли?
Там есть четкое разделение на примитивы и объекты.
«Слово “примитивный” означает Undefined, Null, Boolean, String или Number.»
Все остальные типы являются объектными.
Bhudh: Согласен, но в таком случае Undefined, Null, Boolean, String или Number должны, по идее быть написаны с маленькой буквы. А с большой Boolean, String или Number - это уже оболочки
Нет. Названия типов в спецификации принято писать с заглавной буквы. Со строчной буквы только оператор typeof возвращает.
Просто не путайте названия типов с идентификаторами функций и всё будет хорошо. Они употребляются в разных контекстах.
Вот цитата из оригинальной спецификации, если не верите:
Properties are containers that hold other objects, primitive values, or functions. A primitive value is a member of one of the following built-in types: Undefined, Null, Boolean, Number, and String; an object is a member of the remaining built-in type Object; and a function is a callable object. A function that is associated with an object via a property is a method.
ECMAScript defines a collection of built-in objects that round out the definition of ECMAScript entities. These built-in objects include the global object, the Object object, the Function object, the Array object, the String object, the Boolean object, the Number object, the Math object, the Date object, the RegExp object, the JSON object, and the Error objects Error, EvalError, RangeError, ReferenceError, SyntaxError, TypeError and URIError.