Obyekt prototiplari

ULASHISH

Prototip vorisligi

Barcha JavaScript obyektlari prototipdan xossa va usullarni meros qilib oladi:

  • Date objects inherit from Date.prototype
  • Array objects inherit from Array.prototype

Object.prototype prototip meros zanjirining yuqori qismida joylashgan.

Date obyekt, Array obyekt, va boshqa barcha obyektlar Object.prototype dan meros oladi.

Obyektlarga xususiyat va metodlar qo‘shish

Ba’zan ma’lum tipdagi barcha mavjud obyektlarga yangi xususiyatlar (yoki metodlar) qo‘shish kerak bo‘ladi.

Ba’zan obyekt konstruktoriga yangi xususiyatlar (yoki metodlar) qo‘shish kerak bo‘ladi.

Ilgari siz obyekt konstruktoridan qanday foydalanishni o‘rgandingiz:

Misol

function Person(first, last, age, eyecolor) {
  this.firstName = first;
  this.lastName = last;
  this.age = age;
  this.eyeColor = eyecolor;
}

const myFather = new Person("John", "Doe", 50, "blue");
const myMother = new Person("Sally", "Rally", 48, "green");
O‘zingiz sinab ko‘ring »

Mavjud obyekt konstruktoriga yangi xususiyat qo‘sha olmaysiz:

Misol

Person.nationality = "English";
O‘zingiz sinab ko‘ring »

Konstruktorga yangi xususiyat qo‘shish uchun uni konstruktor funksiyasiga qo‘shishingiz kerak:

Misol

function Person(first, last, age, eyecolor) {
  this.firstName = first;
  this.lastName = last;
  this.age = age;
  this.eyeColor = eyecolor;
  this.nationality = "English";
}
O‘zingiz sinab ko‘ring »

prototype xususiyatidan foydalanish

JavaScript prototype xususiyati obyektga yangi xususiyatlar qo‘shish imkonini beradi konstruktorlar:

Misol

function Person(first, last, age, eyecolor) {
  this.firstName = first;
  this.lastName = last;
  this.age = age;
  this.eyeColor = eyecolor;
}

Person.prototype.nationality = "English";
O‘zingiz sinab ko‘ring »

JavaScript prototype xususiyati ham obyektga yangi usullarni qo‘shish imkonini beradi konstruktorlar:

Misol

function Person(first, last, age, eyecolor) {
  this.firstName = first;
  this.lastName = last;
  this.age = age;
  this.eyeColor = eyecolor;
}

Person.prototype.name = function() {
  return this.firstName + " " + this.lastName;
};
O‘zingiz sinab ko‘ring »


Ogohlantirish

Faqat o‘zingizning prototiplaringizni o‘zgartiring. Hech qachon standart JavaScript obyektlarining prototiplarini o‘zgartirmang.

W3Schools Pathfinder

Yutuqlaringizni kuzating – bu bepul!