Свойства объекта

Свойства - пары ключ: значение, описывающие сущность, как существительные и прилагательные, отвечают на вопросы: Кто? Что? Какой? Какая?

Ключ - локальная переменная в {}, значение - значение такой переменной.

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

Создание свойств

Ключ можно описать двумя способами

const object = {
    firstName: 'Sandra',
    'last name': 'Hrevtsova';
}; 

Причем, в первом случае, мы создаем локальную переменную со строчным идентификатором 'firstName', в котором не допустимы пробелы и применимы все правила именования переменных.

Во втором случае, мы объявили строчный ключ, внутри кавычек допустимы пробелы и это не приведет к синтаксической ошибке.

Свойства в объекте можно указывать как при создании объекта, так и добавлять в уже существующий объект.

object.age = 18;
object['gender'] = 'female';

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

Черех оператор присвоения = присваиваем значение для нового ключа в объекте.

Доступ к свойствам

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

console.log(object.age); // 18
console.log(object['gender']); // female

Изменение свойств

Для изменения значения свойства, мы снова обращаемся к нему одним из двух выше указанных способов и через оператор присвоения = задаем новое значение.

object.age = 32;
console.log(object.age); // 32

object['last name'] = 'last name'
console.log(object['last name']); // last name

Так как ключи свойств объекта - это локальные переменные внутри блока {}, они как бы инициализированы через let и могут принимать новые значения, как локальные переменные циклов и параметры функций например.

Удаление свойств

На самом деле, мі крайне редко что-то удаляем, тем более внутри данных.

Это отдельная глубокая тема мутации данных и нам, как разработчикам всегда следует внимательно работать с изменением значение и тем более, их удалением.

Тем не менее, нам не помешает знать, как удалять не нужные свойства из объекта.

Для этого существует оператор delete.

delete object.age;
console.log(object.age); // undefined

delete object['last name'];
console.log(object['last name']); // undefined

Если обратиться к удаленным свойствам, то вернется undefined, потому что после вызова оператора delete, свойство в объекте не существует и возвращается значение неопределено.

Last updated