Прототипи

Прототип — це резервне сховище властивостей і методів об'єкта, яке автоматично використовується під час їх пошуку. За зберігання звязку прототипів відповідає властивіть 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"
}