Если видео недоступно для просмотра, попробуйте выключить блокировщик рекламы.
Для сохранения прогресса вступите в курс. Войти или зарегистрироваться.

Ошибки видео

На самом деле боксинг срабатывает, даже если мы обращаемся к примитивному типу напрямую

'hello'.length

Но важно понимать, что у строки нет свойств, прозрачно для нас происходит оборачивание в объект и работает это примерно так: new String('hello').

Изменение объекта

Обычно, изменение объекта происходит так:

const obj = { key: 'value' };
obj.key = 'another value';

Но что делать, если свойство заранее неизвестно? Тогда можно воспользоваться таким способом:

const name = 'key';
const obj = { key: 'value' };
obj[name] = 'another value';

Вычислимые свойства встречаются достаточно часто на этапе создания объекта, по этой причине появился специальный синтаксис, позволяющий задавать подобные свойства в литерале. Дополнительный бонус в том, что при таком подходе в коде пропадают лишние мутации и код становится более функциональным:

const name = 'key2';
const obj = { key: 'value', [name]: 'another value' };
// => { key: 'value', key2: 'another value' }

Единственное отличие от стандартного синтаксиса в том, что ключ это переменная (а не имя) взятая в квадратные скобки.

Еще одна интересная возможность объектов в JS - сокращенный синтаксис создания объектов при использовании переменных или констант. Обычное создание выглядит так:

const name = 'Mike';

const user = { name: name };

В примере выше, имя свойства совпадает с именем переменной, в которой хранится нужное значение. JS позволяет написать этот код лаконичнее. Можно просто опустить часть name:. И получится:

const name = 'Mike';

const user = { name };

Тоже самое работает и для нескольких переменных:

const name = 'Mike';
const surname = 'Smith';

const user = { name, surname };

Можно даже мешать разные стили в рамках одного объекта:

const name = 'Mike';

const user = { name, surname: 'Smith' };
Мы учим программированию с нуля до стажировки и работы. Попробуйте наш бесплатный курс «Введение в программирование» или полные программы обучения по Node, PHP, Python и Java.

Хекслет

Подробнее о том, почему наше обучение работает →