logo

JavaScript обекти

JavaScript обект е обект, който има състояние и поведение (свойства и метод). Например: кола, писалка, велосипед, стол, стъкло, клавиатура, монитор и др.

JavaScript е обектно базиран език. Всичко е обект в JavaScript.

JavaScript е базиран на шаблон, а не на клас. Тук не създаваме клас, за да получим обекта. Но ние директно създаваме обекти.


Създаване на обекти в JavaScript

Има 3 начина за създаване на обекти.

  1. По обектен литерал
  2. Чрез директно създаване на екземпляр на Object (използвайки нова ключова дума)
  3. Чрез използване на обектен конструктор (използвайки нова ключова дума)

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,&apos;Sonoo Jaiswal&apos;,30000); document.write(e.id+&apos; &apos;+e.name+&apos; &apos;+e.salary); e.changeSalary(45000); document.write(&apos; <br>&apos;+e.id+&apos; &apos;+e.name+&apos; &apos;+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() Този метод връща масив от стойности.