В пятницу я час читал YDKJS — это и прототипы Object, потом час работал над своим блогом.

Размышления о главе 3: Объекты.

Во-первых, не все в Javascript является объектом. В JS есть шесть основных типов: строки, числа, логические значения, null, undefined и объекты.

Объекты могут иметь «подтипы», такие как функции или массивы. Они называются сложными примитивами. Эта терминология особенно сбивает с толку, потому что вы можете подумать, что это тип примитива, но на самом деле это тип объекта.

Существуют также другие подтипы объектов, называемые «встроенными» объектами. На самом деле это функции, которые можно использовать в качестве конструкторов, или функции, вызываемые с помощью оператораnew. Они делают объекты. Проверьте код ниже:

var strPrimitive = “I am a string”;
typeof strPrimitive ; // string
strPrimitive instanceof String; // false
var strObject = new String(“I am a string”);
typeof strObject = strObject; // object
strObject instanceof String // true

Здесь вы можете видеть, что strPrimitive — это примитивная строка, а strObject — это объект.

В случае объектов String от них очевидно мало пользы, за исключением того факта, что вы можете хранить в них свойства.

Можно перебирать значения (а не свойства или индексы) в объектах и ​​массивах Javascript с помощью синтаксиса ES6 for… of. Массивы имеют эту встроенную функцию, в то время как для объектов она должна быть сделана на заказ.