НАЙКРАЩИЙ САЙТ ДЛЯ ВЕБ-РОЗРОБНИКІВ

JS Підручник

JS Старт JS Інтро JS Установка JS Виведення JS Інструкції JS Синтаксис JS Коментарі JS Змінні JS Ключове слово Let JS Ключове слово Const JS Оператори JS Арифметичні JS Присвоєння JS Типи даних JS Функції JS Об’єкти JS Події JS Рядки JS Рядкові методи JS Рядковий пошук JS Рядкові шаблони JS Числа JS Числові методи JS Масиви JS Методи масиву JS Сортування масиву JS Ітерація масиву JS Масив Const JS Дати JS Формати дат JS Методи отримання дат JS Методи встановлення дат JS Математичні JS Рандомні JS Булеві JS Порівняння JS Умови JS Switch JS Цикл For JS Цикл For In JS Цикл For Of JS Цикл While JS Break & Continue JS Ітерації JS Сети (Набори) JS Мапи JS Typeof JS Перетворення типів JS Побітові JS Регулярні вирази JS Помилки JS Область дії JS Хостинг JS Use Strict JS Ключове слово this JS Функція стрілки JS Класи JS Модулі JS JSON JS Відладка JS Гід по стилю JS Кращі практики JS Поширені помилки JS Продуктивність JS Зарезервовані слова

JS Версії

JS Версії JS 2009 (ES5) JS 2015 (ES6) JS 2016 JS 2017 JS 2018 JS IE/Edge JS Історія

JS Об’єкти

Визначення об’єктів Властивості об’єкта Методи об’єкта Відображення об’єкта Доступ до об’єктів Конструктори об’єктів Прототипи об’єктів Ітеровані об’єкти Набори об’єктів Карти об’єктів Довідник об’єктів

JS Функції

Визначення функцій Параметри функції Звернення до функції Виклик функції Застосування функції Функція Bind Закриття функції

JS Класси

Вступ Наслідування класу Статичні методи

JS Асинхронний

Зворотні виклики Асинхронний Проміси Async/Await

JS HTML DOM

DOM Вступ DOM Методи DOM Документ DOM Елементи DOM HTML DOM Форми DOM CSS DOM Анімація DOM Події DOM Слухач подій DOM Навігація DOM Вузли DOM Колекції DOM Вузлові списки

JS Браузер BOM

JS Вікно JS Скрін JS Локація JS Історія JS Навігатор JS Спливаюче оповіщення JS Таймінг JS Кукі

JS Веб API

Веб API Вступ Веб-форми API Веб-історія API Веб-сховище API Веб-воркер API Веб-виборка API Веб-геолокація API

JS AJAX

AJAX Вступ AJAX XMLHttp AJAX Запит AJAX Відгук AJAX XML Файл AJAX PHP AJAX ASP AJAX База даних AJAX Додатки AJAX Приклади

JS JSON

JSON Вступ JSON Синтаксис JSON та XML JSON Типи даних JSON Аналіз JSON Stringify JSON Об’єкти JSON Масиви JSON Сервер JSON PHP JSON HTML JSON JSONP

JS та jQuery

jQuery Селектори jQuery HTML jQuery CSS jQuery DOM

JS Приклади

JS Приклади JS HTML DOM JS HTML Input JS HTML Об’єкти JS HTML Події JS Браузер JS Редактор JS Вправи JS Вікторина JS Сертифікат

JS Довідники

JavaScript Об’єкти HTML DOM Об’єкти

JavaScript. Уроки W3Schools для початківців українською мовою

En

JavaScript Об’єкти


В JavaScript об’єкти є королями. Якщо ви розбираєтесь в об’єктах, ви розумієте JavaScript.


В JavaScript майже "все" є об’єктом.

  • Булеві (логічні) значення можуть бути об’єктами (якщо вони визначені за допомогою ключового слова new)
  • Числа можуть бути об’єктами (якщо вони визначені за допомогою ключового слова new)
  • Рядки можуть бути об’єктами (якщо вони визначені за допомогою ключового слова new)
  • Дати завжди є об’єктами
  • Математичні вирази - це завжди об’єкти
  • Регулярні вирази завжди є об’єктами
  • Масиви завжди є об’єктами
  • Функції завжди є об’єктами
  • Об’єкти завжди є об’єктами

Всі JavaScript значення, крім примітивів, є об’єктами.


JavaScript Примітиви

Примітивне значення - це значення, що не має властивостей або методів.

Примітивний тип даних - це дані з примітивним значенням.

JavaScript визначає 5 типів примітивних типів даних:

  • string (рядок)
  • number (число)
  • boolean (булеве значення)
  • null (нуль)
  • undefined (не визначене)

Примітивні значення не змінюються (вони жорстко запрограмовані й тому не можуть бути змінені).

Якщо x = 3.14, ви можете змінити значення x. Але ви не можете змінити значення 3.14.

ЗначенняТипКоментар
"Hello"string"Hello" завжди "Hello"
3.14number3.14 завжди 3.14
truebooleantrue завжди true
falsebooleanfalse завжди false
nullnull (объект)null завжди null
undefinedundefinedundefined завжди undefined

Place for your advertisement!

Об’єкти - це змінні

JavaScript змінні можуть містити одиночні значення:

Приклад

let person = "John Doe";
Спробуйте самі »

JavaScript змінні також можуть містити багато значень.

Об’єкти теж змінні. Але об’єкти можуть містити багато значень.

Значення объекту записуються у вигляді пар ім’я: значення (ім’я і значення, розділені двокрапкою).

Приклад

let person = {firstName:"John", lastName:"Doe", age:50, eyeColor:"blue"};
Спробуйте самі »

JavaScript об’єкт - це колекція іменованих значень.

Зазвичай об’єкти оголошуються за допомогою ключового слова const.

Приклад

const person = {firstName:"John", lastName:"Doe", age:50, eyeColor:"blue"};
Спробуйте самі »

Властивості об’єкта

Іменовані значення в JavaScript об’єктах називаються властивостями.

Властивість Значення
firstName John
lastName Doe
age 50
eyeColor blue

Об’єкти, записані як пари ім’я-значення, схожі на:

  • Асоціативні масиви в PHP
  • Словники на Python
  • Хеш-таблиці на C
  • Хеш-мапи в Java
  • Хеши на Ruby та Perl

Методи об’екту

Методи - це дії, які можна виконувати з об’єктами.

Властивості об’єкта можуть бути як примітивними значеннями, так і іншими об’єктами та функціями.

Метод об’єкту - це властивість об’єкту, що містить визначення функції.

Властивість Значення
firstName John
lastName Doe
age 50
eyeColor blue
fullName function() {return this.firstName + " " + this.lastName;}

JavaScript об’єкти - це контейнери для іменованих значень, що називаються властивостями й методами.

Ви дізнаєтесь більше про методи в наступних розділах.


Створення об’єкту JavaScript

За допомогою JavaScript ви можете визначати й створювати свої власні об’єкти.

Існують різні способи створення нових об’єктів:

  • Створіть єдиний об’єкт, використовуючи літерал об’єкту
  • Створіть єдиний об’єкт з ключовим словом new.
  • Визначіть конструктор об’єкту, а потім створіть об’єкти сконструйованого типу.
  • Створіть об’єкт, використовуючи Object.create().

Використання літералу об’єкту

Це найпростіший спосіб створити об’єкт JavaScript.

Використовуючи літерал об’єкту, ви одночасно визначаєте й створюєте об’єкт в одній інструкції.

Літерал об’єкту - це список пар ім’я: значення (наприклад, age: 50) в фігурних скобках {}.

В наступному прикладі створюється новий JavaScript об’єкт з чотирма властивостями:

Приклад

const person = {firstName:"John", lastName:"Doe", age:50, eyeColor:"blue"};
Спробуйте самі »

Пробіли й перенесення рядка не важливі. Визначення об’єкту може займати кілька рядків:

Приклад

const person = {
  firstName: "John",
  lastName: "Doe",
  age: 50,
  eyeColor: "blue"
};
Спробуйте самі »

В цьому прикладі створюється пустий об’єкт JavaScript, а потім додаються 4 властивості:

Приклад

const person = {};
person.firstName = "John";
person.lastName = "Doe";
person.age = 50;
person.eyeColor = "blue";
Спробуйте самі »

Використання JavaScript ключового слова new

В наступному прикладі створюється новий об’єкт JavaScript за допомогою new Object(), а потім додаються 4 властивості:

Приклад

const person = new Object();
person.firstName = "John";
person.lastName = "Doe";
person.age = 50;
person.eyeColor = "blue";
Спробуйте самі »

Наведені вище приклади роблять те саме.

Але немає необхідності використовувати new Object().

Для зручності читання, простоти та швидкості виконання використовуйте метод літералу об’єкта.


Об’єкти JavaScript можна змінювати

Об’єкти можна змінювати: вони адресуються за посиланням, а не по значенню.

Якщо людина є об’єктом, наступне твердження не створить копію людини:

const x = person;  // Не буде створювати копію людини

Об’єкт x - не копія людини. Це - людина. І x, і person - це один і той самий об’єкт.

Будь-які зміни в x також змінять person, тому що x та person є одним і тим самим об’єктом.

Приклад

const person = {
  firstName:"John",
  lastName:"Doe",
  age:50, eyeColor:"blue"
}

const x = person;
x.age = 10;      // Змінить як x.age, так і person.age
Спробуйте самі »