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.14 | number | 3.14 завжди 3.14 |
true | boolean | true завжди true |
false | boolean | false завжди false |
null | null (объект) | null завжди null |
undefined | undefined | undefined завжди undefined |
Об’єкти - це змінні
JavaScript змінні можуть містити одиночні значення:
JavaScript змінні також можуть містити багато значень.
Об’єкти теж змінні. Але об’єкти можуть містити багато значень.
Значення объекту записуються у вигляді пар ім’я: значення (ім’я і значення, розділені двокрапкою).
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
Спробуйте самі »