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

Объект представляет собой набор свойств. Свойства идентифицируются с использованием ключевых значений. Они такие же, как и переменные, за исключением того, что они присваиваются объекту. Методы — это функции, назначенные объекту.

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

Конструкторы объектов

Функции-конструкторы — это один из способов создания объектов в JavaScript. Использование конструктора для объекта создает «чертеж». Это позволяет создавать множество экземпляров одного и того же объекта с использованием ключевого слова.

Значения свойств передаются конструктору с помощью аргументов.

function Pokemon(name, type) { this.name = name; this.type = type; }; const pikachu = new Pokemon('Pikachu', 'Electric'); const charmander = new Pokemon('Charmander', 'Fire');

Литералы объекта

ECMAScript 2015, также известный как ES6, обеспечивает сокращение для записи Object Literal при назначении переменных свойствам объекта.

// Standard method const name = 'Squirtle'; const type = 'Water; const pokemon = { name: name, type: type } // ES6 shorthand const name = 'Squirtle'; const type = 'Water; const pokemon = { name, type, }

Доступ к свойствам объекта

Примеры ниже охватывают следующее:

Обозначение через точку

Чаще всего используется точечная запись, так как ее легче всего читать. Синтаксис: objectName.propertyName.

var pokemon = { name: 'Bulbasaur', type: 'Grass', number: 1 }; var type = pokemon.type;

Обозначение в скобках

Нотация скобок позволяет использовать переменные, которые разрешают строку. Синтаксис записи скобок: objectName[`propertyName'].

var pokemon = { name: 'Bulbasaur', type: 'Grass', number: 1 }; var type = pokemon['type'];

Методы объекта

Методы — это действия, выполняемые над объектами. Метод объекта — это свойство объекта, содержащее определение функции. Ниже приведены примеры следующих методов объекта:

Объект.значения()

Object.values() — это метод, который возвращает массив значений собственных свойств объекта.

var pokemon = { name: 'Rattata', type: 'Normal', number: 19 }; var keys = Object.values(pokemon);

Объект.keys()

Object.keys() — это метод, который возвращает массив имен собственных свойств объекта.

var pokemon = { name: 'Rattata', type: 'Normal', number: 19 }; var keys = Object.keys(pokemon);

Объект.заморозить()

Метод Object.freeze замораживает объект.

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

Вы можете проверить, заморожен ли объект, используя: Object.isFrozen().

var pokemon = { name: 'Articuno', type: 'Ice', number: 144 }; Object.freeze(pokemon); consol.log(Object.isFrozen(pokemon)); true

Объект.печать()

Object.seal — это метод, аналогичный Object.freeze(). Это не позволяет вам добавлять или удалять свойства объекта, но вы можете изменить значение существующего свойства.

Точно так же вы можете проверить, был ли объект запечатан, используя Object.isSealed().

var pokemon = { name: 'Seal', type: 'Water', number: 86 }; Object.seal(pokemon); consol.log(Object.isSealed(pokemon)); true

это ключевое слово

По умолчанию ключевое слово this в JavaScript ссылается на объект, выполняющий текущую функцию. Он относится к глобальному объекту — объекту окна в браузере.

Если функция является методом объекта, она ссылается на объект.

var pokemon = { name: 'Squirtle', type: 'Water', speak: function() { console.log(this); } }; pokemon.speak();

Объединение объектов

В ES6 появился оператор распространения, который позволяет легко объединять объекты. Метод Spread Syntax объединяет исходные объекты в один новый объект.

var details = { name: 'Charmander', type: 'Fire', number: 19}; var evolution = { evolutionOne: 'Charmeleon', evolutionTwo: 'Charizard'}; var ability = { abilityOne: 'Blaze' }; var pokemon = {...details, ...evolution, ...ability};

Объект.назначить()

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

Синтаксис: Object.assign(target, …sources).

var details = { name: 'Charmander', type: 'Fire', number: 19}; var evolution = { evolutionOne: 'Charmeleon', evolutionTwo: 'Charizard'}; var ability = { abilityOne: 'Blaze' }; var pokemon = Object.assign(details, evolution, ability); console.log(details);

Проверь свои навыки

Наша талантливая команда разработчиков постоянно ищет способы улучшить процесс разработки и удобство работы пользователей. Мы работаем над интересным дизайном и часто создаем проекты на CMS, таких как Sitecore.

Первоначально опубликовано на https://www.codehousegroup.com 10 октября 2022 г.