Прототипи
Прототип — це резервне сховище властивостей і методів об'єкта, яке автоматично використовується під час їх пошуку. За зберігання звязку прототипів відповідає властивіть Prototype
create
створює і повертає новий об'єкт, зв'язуючи його з об'єктом
const animal = { legs: 4, }; const dog = Object.create(animal); dog.name = "Mango"; console.log(dog); // { name: "Mango", [[Prototype]]: animal }
isPrototypeOf()
Перевірити, чи є об'єкт прототипом іншого об'єкта. Повертає тру або фолс
objA.isPrototypeOf(objB)
hasOwnProperty
Пперевіряє, чи якась властивість в об'єкті власна чи належить прототипу. Повертає тру/фалс
console.log(dog.hasOwnProperty("name")); // true console.log(dog.hasOwnProperty("legs")); // false
Object.keys(obj) і Object.values(obj)
повертають масив тільки власних ключів або значень тільки власних властивостей об'єкта obj, без необхідності додаткових перевірок. Через це на практиці використовують саме їх із циклом for…of, замість for…in і hasOwnProperty.
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" }