Об’єкт javaScript — це сутність, яка має стан і поведінку (властивості та метод). Наприклад: автомобіль, ручка, велосипед, стілець, скло, клавіатура, монітор тощо.
JavaScript — це об’єктно-орієнтована мова. У JavaScript усе є об’єктом.
JavaScript базується на шаблонах, а не на класах. Тут ми не створюємо клас, щоб отримати об’єкт. Але ми безпосередньо створюємо об’єкти.
Створення об’єктів у JavaScript
Існує 3 способи створення об’єктів.
- За літералом об’єкта
- Шляхом безпосереднього створення екземпляра Object (за допомогою нового ключового слова)
- За допомогою конструктора об’єктів (за допомогою нового ключового слова)
1) Об’єкт за літералом JavaScript
Синтаксис створення об’єкта за допомогою об’єктного літералу наведено нижче:
object={property1:value1,property2:value2.....propertyN:valueN} Як бачите, властивість і значення розділені двокрапкою.
Давайте розглянемо простий приклад створення об’єкта в JavaScript.
emp={id:102,name:'Shyam Kumar',salary:40000} document.write(emp.id+' '+emp.name+' '+emp.salary); Перевірте зараз Результат наведеного вище прикладу
2) Створенням екземпляра Object
Синтаксис безпосереднього створення об'єкта наведено нижче:
var objectname=new Object();
тут, нове ключове слово використовується для створення об'єкта.
Розглянемо приклад безпосереднього створення об’єкта.
var emp=new Object(); emp.id=101; emp.name='Ravi Malik'; emp.salary=50000; document.write(emp.id+' '+emp.name+' '+emp.salary);Перевірте зараз
Результат наведеного вище прикладу
3) За допомогою конструктора Object
Тут вам потрібно створити функцію з аргументами. Кожне значення аргументу можна призначити в поточному об’єкті за допомогою цього ключового слова.
The це ключове слово посилається на поточний об'єкт.
Приклад створення об'єкта конструктором об'єктів наведено нижче.
function emp(id,name,salary){ this.id=id; this.name=name; this.salary=salary; } e=new emp(103,'Vimal Jaiswal',30000); document.write(e.id+' '+e.name+' '+e.salary); Перевірте зараз Результат наведеного вище прикладу
Визначення методу в об’єкті JavaScript
Ми можемо визначити метод в об’єкті JavaScript. Але перед визначенням методу нам потрібно додати властивість у функцію з тим же ім’ям, що й метод.
Нижче наведено приклад визначення методу в об’єкті.
function emp(id,name,salary){ this.id=id; this.name=name; this.salary=salary; this.changeSalary=changeSalary; function changeSalary(otherSalary){ this.salary=otherSalary; } } e=new emp(103,'Sonoo Jaiswal',30000); document.write(e.id+' '+e.name+' '+e.salary); e.changeSalary(45000); document.write(' <br>'+e.id+' '+e.name+' '+e.salary); Перевірте зараз Результат наведеного вище прикладу
Методи об’єктів JavaScript
Нижче наведено різні методи Object:
| Так ні | методи | опис |
|---|---|---|
| 1 | Object.assign() | Цей метод використовується для копіювання перелічуваних і власних властивостей з вихідного об’єкта в цільовий об’єкт |
| 2 | Object.create() | Цей метод використовується для створення нового об’єкта з указаним прототипом об’єкта та властивостями. |
| 3 | Object.defineProperty() | Цей метод використовується для опису деяких поведінкових атрибутів властивості. |
| 4 | Object.defineProperties() | Цей метод використовується для створення або налаштування кількох властивостей об’єкта. |
| 5 | Object.entries() | Цей метод повертає масив із масивами пар ключів і значень. |
| 6 | Object.freeze() | Цей метод запобігає видаленню існуючих властивостей. |
| 7 | Object.getOwnPropertyDescriptor() | Цей метод повертає дескриптор властивості для вказаної властивості вказаного об’єкта. |
| 8 | Object.getOwnPropertyDescriptors() | Цей метод повертає всі власні дескриптори властивостей заданого об’єкта. |
| 9 | Object.getOwnPropertyNames() | Цей метод повертає масив усіх знайдених властивостей (перелічуваних чи ні). |
| 10 | Object.getOwnPropertySymbols() | Цей метод повертає масив усіх властивостей ключа символу. |
| одинадцять | Object.getPrototypeOf() | Цей метод повертає прототип зазначеного об'єкта. |
| 12 | Object.is() | Цей метод визначає, чи є два значення однаковими. |
| 13 | Object.isExtensible() | Цей метод визначає, чи є об’єкт розширюваним |
| 14 | Object.isFrozen() | Цей метод визначає, чи був об’єкт заморожений. |
| п'ятнадцять | Object.isSealed() | Цей метод визначає, чи запечатаний об’єкт. |
| 16 | Object.keys() | Цей метод повертає масив імен властивостей даного об’єкта. |
| 17 | Object.preventExtensions() | Цей метод використовується для запобігання будь-яким розширенням об’єкта. |
| 18 | Object.seal() | Цей метод запобігає додаванню нових властивостей і позначає всі наявні властивості як такі, що не підлягають налаштуванню. |
| 19 | Object.setPrototypeOf() | Цей метод встановлює прототип зазначеного об’єкта на інший об’єкт. |
| двадцять | Object.values() | Цей метод повертає масив значень. |