Найти в Дзене
CyberHaus

Объекты в JavaScript

Объявление объекта Создать новый объект можно двумя способами: через ключевое слово new или присвоив переменной фигурные скобки {} Свойства и методы У объектов есть свойства и методы. Свойства, как и переменные, хранят какое-то значение, а методы – это функции, которые выполняются в момент вызова метода. При объявлении объекта можно сразу проинициализировать свойства и методы. Контекст this (доступ к свойствам и методам внутри объекта) Как вы могли заметить из предыдущего объекта, для обращения к свойству name мы использовали ключевое слово this. Данное свойство позволяет из методов объекта обращаться к свойствам и вызывать другие методы объекта. Доступ к свойствам и методам Получить доступ к свойству можно следующим образом: obj.name. А для вызова метода надо дополнительно указать в конце круглые скобки obj.getName(). К свойству объекта можно также обратиться, указав имя свойства в квадратных скобках obj[‘name’]. Иногда такой способ весьма полезен. Изменение свойств Изменить зна

Объявление объекта

Создать новый объект можно двумя способами: через ключевое слово new или присвоив переменной фигурные скобки {}

создание объекта
создание объекта

Свойства и методы

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

инициализация свойств и методов
инициализация свойств и методов

Контекст this (доступ к свойствам и методам внутри объекта)

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

обращение к свойствам и методам внутри объекта
обращение к свойствам и методам внутри объекта

Доступ к свойствам и методам

Получить доступ к свойству можно следующим образом: obj.name. А для вызова метода надо дополнительно указать в конце круглые скобки obj.getName().

доступ к свойствам и методам
доступ к свойствам и методам

К свойству объекта можно также обратиться, указав имя свойства в квадратных скобках obj[‘name’]. Иногда такой способ весьма полезен.

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

Изменить значение свойства можно через простое присваивание нового значения obj.name = “Петр”;

Добавление свойств и методов

Добавить новое свойство к объекту можно также через присваивание. Если присвоить свойству функцию, то в таком случае будет добавлен новый метод.

добавление свойств и методов
добавление свойств и методов

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

Удалить свойство или метод можно при помощи ключевого слова delete

удаление свойств и методов
удаление свойств и методов

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

Конструктор объектов – это функция, внутри которой можно инициализировать свойства.

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

Конструктор может принимать параметры как обычная функция.

передача параметров в конструктор объекта
передача параметров в конструктор объекта

В конструктор можно передать неограниченное количество переменных, но намного удобнее передать в качестве параметра объект.

передача в качестве параметра объекта
передача в качестве параметра объекта

Экземпляр объекта

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

создание экземпляра объекта
создание экземпляра объекта

Перебрать свойства объекта

Перебрать свойства объекта можно в цикле for in.

перебор свойств и методов объекта
перебор свойств и методов объекта

Свойство prototype

Свойство prototype предназначено для добавления свойств и методов к объекту.

наследование через свойство prototype
наследование через свойство prototype

Как видите, в выдачу попал и сам метод print. Чтобы этого избежать, можно добавить простую проверку условием if.

проверка на вызываемый метод
проверка на вызываемый метод

Проверить существует ли свойство у объекта

Есть два варианта, как проверить наличие свойства или метода у объекта: 1. При помощи условия if in. В условии пишем имя свойства в кавычках, затем ключевое слово in и имя объекта без кавычек.

проверка на существование свойства или метода в объекте в условии if
проверка на существование свойства или метода в объекте в условии if

2. при помощи метода hasOwnProperty. Имя проверяемого свойства или метода передаются в качестве аргумента.

проверка на существование свойства или метода в объекте методом hasOwnProperty
проверка на существование свойства или метода в объекте методом hasOwnProperty