Как?

Объекты в JavaScript. Часть 2

От автора: приветствую вас, друзья. В этой статье мы с вами продолжим знакомиться с наиболее сложным, но и не менее интересным типом данных в JavaScript — речь идет об объектах. Приступим?

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

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

Способ №1

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

var names={

 name1:'John',

 name2:'James'

};

console.log(names.name1);

console.log(names.name2);

console.log(names.name3);

Соответственно, можем использовать условие:

var names={

 name1:'John',

 name2:'James'

};

if(names.name1===undefined){

 console.log('Свойство name1 не определено');

}

if(names.name2===undefined){

 console.log('Свойство name2 не определено');

}

if(names.name3===undefined){

 console.log('Свойство name3 не определено');

}

Результатом будет вывод в консоль единственной строки, сообщающей нам, что свойство name3 не определено.

Способ № 2

Вторым вариантом проверки наличия свойства является оператор in, который используется следующим образом:

var names={

 name1:'John',

 name2:'James'

};

if(!("name1" in names)){

 console.log('Свойство name1 не определено');

}

if(!("name2" in names)){

 console.log('Свойство name2 не определено');

}

if(!("name3" in names)){

 console.log('Свойство name3 не определено');

}

Результат будет аналогичен предыдущему. Ну и в конце статьи давайте познакомимся с альтернативным синтаксисом доступа к свойствам объекта — через квадратные скобки (до сих пор мы обращались через точку).

var names={

 name1:'John',

 name2:'James'

};

console.log(names.name 1);

console.log(names['name1']);

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

Код выше вернет синтаксическую ошибку, поскольку интерпретатор JavaScript посчитает именем свойства строку до пробела.

А вот с использованием квадратных скобок все будет работать:

var names={};

names['name 1']='John';

console.log(names);

Конечно, использовать такие имена свойств не принято, но тем не менее все может быть и без скобок здесь не обойтись. На этом мы завершим текущую статью. Если вы хотите больше узнать о JavaScript, тогда рекомендую обратить свое внимание на уроки по JavaScript и отдельный курс по языку JavaScript. Удачи!

Поделится
Admin

Recent Posts

Разработка игр на Unity

В Unity используется производительный язык программирования C#. Благодаря C# и Mono – кроссплатформенной реализации .NET,…

1 год ago