Свойства объекта
Свойства - пары ключ: значение, описывающие сущность, как существительные и прилагательные, отвечают на вопросы: Кто? Что? Какой? Какая?
Ключ - локальная переменная в {}, значение - значение такой переменной.
Имя ключа - всегда строка, даже если указана как локальная переменная, все-равно интерпретатор считывает имя переменной, как строчное имя ключа в свойстве объекта.
Создание свойств
Ключ можно описать двумя способами
Причем, в первом случае, мы создаем локальную переменную со строчным идентификатором 'firstName'
, в котором не допустимы пробелы и применимы все правила именования переменных.
Во втором случае, мы объявили строчный ключ, внутри кавычек допустимы пробелы и это не приведет к синтаксической ошибке.
Свойства в объекте можно указывать как при создании объекта, так и добавлять в уже существующий объект.
При добавлении нового свойства в объект, можно указать его ключ через точку после обращения к переменной с объектом, так и указав строчный ключ в квадратных скобках.
Черех оператор присвоения =
присваиваем значение для нового ключа в объекте.
Доступ к свойствам
Для получения значения из свойств объекта также используется обращение к ключу через точку после имени объекта или через указание строчного имени ключа в квадратных скобках []
.
Изменение свойств
Для изменения значения свойства, мы снова обращаемся к нему одним из двух выше указанных способов и через оператор присвоения =
задаем новое значение.
Так как ключи свойств объекта - это локальные переменные внутри блока {}
, они как бы инициализированы через let
и могут принимать новые значения, как локальные переменные циклов и параметры функций например.
Удаление свойств
На самом деле, мі крайне редко что-то удаляем, тем более внутри данных.
Это отдельная глубокая тема мутации данных и нам, как разработчикам всегда следует внимательно работать с изменением значение и тем более, их удалением.
Тем не менее, нам не помешает знать, как удалять не нужные свойства из объекта.
Для этого существует оператор delete
.
Если обратиться к удаленным свойствам, то вернется undefined
, потому что после вызова оператора delete
, свойство в объекте не существует и возвращается значение неопределено
.
Last updated