Способи створення об’єктів у JavaScript
Існує декілька способів створення об’єктів у JavaScript. Тип даних Object відіграє вирішальну роль у JS. Об’єкт — це невпорядкований набір пар ключ-значення. Може містити інші об’єкти.
1. Literal notation
const someObject1 = {};
Мабуть, це найпоширеніший і найпростіший спосіб. Давайте додамо властивості та методи
someObject1.name = "John";
someObject1.age = 25;
someObject1.run = function() {
console.log("run");
}
А тепер те саме, але ми будемо встановлювати властивості та методи при створенні
const someObject1 = {
name: "John",
age: 25,
run: function() {
console.log("run");
}
};
2. Object constructor
Цей спосіб не рекомендується використовувати, а краще скористатися попереднім. Тим не менш, він існує. Але ймовірність зустріти його вкрай мала
const someObject2 = new Object();
Після цього ми також додамо властивості та методи.
someObject2.name = "Nick";
someObject2.age = 30;
someObject2.jump = function() {
console.log("jump");
}
3. Function constructor
Ми можемо написати функцію-конструктор і створити об’єкти за допомогою оператора new
function SomeObject3(name, age) {
this.name = name;
this.age = age;
}
SomeObject3.prototype.run = function() {
console.log("run");
}
Створимо об’єкт
const someObject3 = new SomeObject3("Alex", 20);
4. Object.create() спосіб
Є ще один спосіб створення об’єктів – за допомогою методу Object.create(). Перший параметр, обов’язковий параметр, є прототипом створеного об’єкта, а другий необов’язковий параметр – список властивостей об’єкта. Щоб створити об’єкт без прототипу, необхідно викликати метод Object.create() із параметром null.
const someObject4 = Object.create(Object.prototype);
// the full analogue of Object.create (Object.prototype) is
const otherObject1 = {};
//object without prototype
const otherObject2 = Object.create(null);
5. Використання класів
Синтаксис ES6 забезпечує написання класів у JavaScript. По суті, це аналог третього способу – використання функції конструктора. Тільки з більш простим і зрозумілим написанням.
class SomeObject5 {
constructor(name, age) {
this.name = name;
this.age = age;
}
run() {
console.log("run");
}
}
Давайте тепер створимо об’єкт, точніше екземпляр класу
const someObject5 = new SomeObject5("Alex", 20);
Схожі записи:
-
Як робити асинхронні запити в циклі в JavaScript
Реалізація асинхронних запитів у циклі JavaScript спочатку може здатися неочевидною. Роблячи асинхронні запити в циклі JavaScript, важливо правильно їх обробляти. Це можн...
-
Робота з файлами cookie в JavaScript
Cookie (cookie, web cookie або cookie браузера) - це рядкова інформація, яку можна зберігати в браузері і передавати на сервер. Максимальний розмір для однієї куки - 409...
-
Як клонувати (копіювати) об’єкт і масив у JavaScript
Клонування об'єктів і масивів - не така проста тема, як може здатися на перший погляд. Клонування об’єктів і масивів у JavaScript можна здійснювати за допомогою різних ...
Залишити відповідь