0:00
Добрый день!
Сегодня я вам расскажу о типе данных «Объекты».
Это, пожалуй, один из самых используемых типов данных в JavaScript.
Он представляет собой набор пар «ключ и значение»,
при этом ключ — это всегда строка, а значение — это произвольный тип данных.
Это может быть примитив, boolean, number, string.
Это может быть функция, это может быть массив или вложенный объект.
Итак, начнем с создания объекта.
Он создается с помощью литеральной записи в виде открывающейся и
закрывающейся фигурной скобки.
Так мы создали пустой объект.
Но мы можем сразу же задать объект,
в котором будут содержаться уже вложенные свойства.
Как вы видите,
здесь свойства всех возможных типов и в том числе вложенный объект.
Для изменения какого бы то ни было свойства, нам необходимо обратиться к нему
с помощью так называемой точечной аннотации, то есть имя переменной,
которая хранит объект, точка и имя свойства, к которому мы хотим обратиться.
После этого мы ставим знак равенства и пишем,
что мы хотим поместить в это свойство.
Таки образом осуществляется присваивание значения.
А получение значения происходит точно так же, но после имени свойства
ставится точка с запятой, и не выполняется операция присваивания.
Так мы обращаемся к полю на чтение.
С помощью оператора delete мы можем удалить значения какого бы то
ни было ключа из объекта.
Важно понимать, что удаляется только один конкретный выбранный нами ключ,
а не весь объект.
С помощью точечной аннотации мы можем обратиться не только к свойству,
которое напрямую лежит в этом объекте, личному свойству,
так и ко свойству вложенного объекта, если таковой есть внутри нашего объекта.
Так мы можем обратиться и к полю ID нашего твита, так и к имени пользователя,
который находится в объекте юзера, который находится внутри нашего объекта твита.
Иногда нам заранее неизвестно, к какому имени ключа мы хотим обратиться.
И например, оно вычисляется путем конкретизации некоторых строк.
Тогда нам необходимо заключить все это исчисляемое выражение в
квадратные скобки после имени переменной, которая ссылается на наш объект.
Таким образом, мы обратимся к полю по ключу,
которое будет возвращено после конкретизации наших строк.
И всегда когда мы обращаемся к полю,
имя которого нам неизвестно и хранится в переменной, нам необходимо
использовать именно квадратные скобки и точечная аннотация при этом не подходит.
Для итерирования по объекту существует специальный метод keys у объекта Object,
который возвращает нам массив из всех ключей нашего объекта.
А для итерации по объекту мы можем применять оператор for,
который был рассмотрен в предыдущей лекции.
И на каждой итерации нашего цикла мы будем получать имя ключа,
и подставляя это имя ключа в квадратные скобки,
мы сможем обратиться к нашему значению и
получить его на каждой итерации для каждого элемента
нашего объекта и впоследствии что-то сделать с этим полученным нами значением.
Для проверки наличия того или иного свойства внутри объекта существует метод
hasOwnProperty, который проверяет, есть ли это свойство у объекта или нет.
И он возвращает true, если свойство есть, и false, если такого свойства нет.
На этом всё.
Мы рассмотрели то, как создаются объекты, как можно по ним итерироваться,
как получать доступ к их полям и то, как проверять их наличие.
Спасибо!