Все в JavaScript является объектом

Чем скорее Вы осознаете это, тем быстрее поймете Prototype. Это имеет несколько различных значений и следствий, которые выделены в следующих подразделах.

У всех типов данных есть методы экземпляра класса

Как и в других объектно-ориентированных языках, у каждого объекта могут быть методы экземпляра класса. Это обеспечивает удобный синтаксис и делает код более легким для чтения.

["foo", "bar", "baz"].join(' ');
//=> "foo bar baz"
"foo bar baz".split(' ');
//-> ["foo", "bar", "baz"]

Это также гарантирует, что функции не загромождают глобальное пространство имен. Что проку от общей функции join, если она воздействует только на массивы? Или общей функции split, которая воздействует только на строки?

Все типы данных наследуются от Object

JavaScript имеет с полдюжины встроенных типов данных: Object, String, Array, RegExp (регулярные выражения), Boolean (логическое - true или false), и тип Date.

Я указал первым в списке тип Object, поскольку это корневой тип. Когда я говорю, что все в JavaScript является объектом, я также подразумеваю, что все в JavaScript является типом Object. Тип Object можно воспринимать как пустой тип данных, чистый холст, на котором основаны все остальные типы.

Мы можем проверить это с помощью оператора instanceof на некоторых встроенных типах JavaScript:

Array instanceof Object;
//-> true
RegExp instanceof Object;
//-> true
Date instanceof Object;
//-> true
String instanceof Object;
//-> true
Function instanceof Object;
//-> true

предыдущая   следующая страница

4

Hosted by uCoz