prototipi

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
prototipi [2023/11/21 18:06]
tro
prototipi [2023/11/21 18:16] (текущий)
tro
Строка 1: Строка 1:
 ====== Прототипи ====== ====== Прототипи ======
-Прототип — це резервне сховище властивостей і методів об'єкта, яке автоматично використовується під час їх пошуку.+Прототип — це резервне сховище властивостей і методів об'єкта, яке автоматично використовується під час їх пошуку. За зберігання звязку прототипів відповідає властивіть [[Prototype]]
 ===== create ===== ===== create =====
 створює і повертає новий об'єкт, зв'язуючи його з об'єктом створює і повертає новий об'єкт, зв'язуючи його з об'єктом
Строка 13: Строка 13:
 console.log(dog); // { name: "Mango", [[Prototype]]: animal } console.log(dog); // { name: "Mango", [[Prototype]]: animal }
 </code> </code>
 +===== isPrototypeOf() =====
 +Перевірити, чи є об'єкт прототипом іншого об'єкта. Повертає тру або фолс
 +<code>
 +objA.isPrototypeOf(objB)
 +</code>
 +===== hasOwnProperty =====
 +Пперевіряє, чи якась властивість в об'єкті власна чи належить прототипу. Повертає тру/фалс
 +<code>
 +console.log(dog.hasOwnProperty("name")); // true
 +console.log(dog.hasOwnProperty("legs")); // false
 +</code>
 +===== Object.keys(obj) і Object.values(obj) =====
 +повертають масив тільки власних ключів або значень тільки власних властивостей об'єкта obj, без необхідності додаткових перевірок. Через це на практиці використовують саме їх із циклом for...of, замість for...in і hasOwnProperty.
 +<code>
 +const animal = { legs: 4 };
 +const dog = Object.create(animal);
 +dog.name = "Mango";
  
 +console.log(Object.keys(dog)); // ["name"]
 +console.log(Object.values(dog)); // ["Mango"]
 +
 +for(const key of Object.keys(dog)) {
 + console.log(key); // "name"
 +}
 +</code>
  
  • /sites/data/attic/prototipi.1700589966.txt.gz
  • Последнее изменение: 2023/11/21 18:06
  • tro