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) Чрез използване на конструктор на обект
Тук трябва да създадете функция с аргументи. Всяка стойност на аргумент може да бъде присвоена в текущия обект с помощта на тази ключова дума.
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() | Този метод връща масив от стойности. |