Прототипы объектов JavaScript: подробное руководство по методам и примерам

JavaScript — это универсальный язык программирования, позволяющий создавать объекты и манипулировать ими. Одной из ключевых особенностей JavaScript является поддержка прототипов объектов. Прототипы позволяют добавлять к объектам методы и свойства, предоставляя мощный способ расширения и настройки объектов JavaScript. В этой статье мы рассмотрим различные методы, связанные с прототипами объектов JavaScript, а также приведем примеры кода, демонстрирующие их использование.

  1. Метод Object.create():
    Метод Object.create()позволяет создать новый объект с указанным прототипом. Он принимает существующий объект в качестве параметра и создает новый объект, который наследует свойства указанного объекта.
const person = {
  fullName: function() {
    return this.firstName + " " + this.lastName;
  }
};
const john = Object.create(person);
john.firstName = "John";
john.lastName = "Doe";
console.log(john.fullName()); // Output: John Doe
  1. Метод Object.getPrototypeOf():
    Метод Object.getPrototypeOf()возвращает прототип объекта. Он позволяет получать доступ к прототипу объекта и манипулировать им.
const person = {
  fullName: function() {
    return this.firstName + " " + this.lastName;
  }
};
const john = {
  firstName: "John",
  lastName: "Doe"
};
Object.setPrototypeOf(john, person);
console.log(Object.getPrototypeOf(john)); // Output: { fullName: [Function] }
  1. Метод Object.setPrototypeOf():
    Метод Object.setPrototypeOf()устанавливает прототип (т. е. внутреннее свойство [[Prototype]]) объекта на другой объект или null.
const person = {
  fullName: function() {
    return this.firstName + " " + this.lastName;
  }
};
const john = {
  firstName: "John",
  lastName: "Doe"
};
Object.setPrototypeOf(john, person);
console.log(john.fullName()); // Output: John Doe
  1. Метод Object.hasOwnProperty():
    Метод Object.hasOwnProperty()проверяет, имеет ли объект определенное свойство, определенное в нем самом, а не в его цепочке прототипов.
const person = {
  firstName: "John",
  lastName: "Doe"
};
console.log(person.hasOwnProperty("firstName")); // Output: true
console.log(person.hasOwnProperty("fullName")); // Output: false
  1. Метод Object.getOwnPropertyNames():
    Метод Object.getOwnPropertyNames()возвращает массив всех свойств (включая неперечислимые свойства), найденных непосредственно в данном объекте.
  2. Метод Object.getOwnPropertyNames().
    Метод Object.getOwnPropertyNames()возвращает массив всех свойств (включая неперечислимые свойства), найденных непосредственно в данном объекте.

    Метод Object.getOwnPropertyNames()>

const person = {
  firstName: "John",
  lastName: "Doe"
};
console.log(Object.getOwnPropertyNames(person)); // Output: ["firstName", "lastName"]

Прототипы объектов JavaScript предоставляют мощный механизм расширения и настройки объектов. В этой статье мы рассмотрели несколько важных методов, связанных с прототипами объектов JavaScript, включая Object.create(), Object.getPrototypeOf(), Object.setPrototypeOf(), Object.hasOwnProperty()и Object.getOwnPropertyNames(). Понимание и использование этих методов позволит вам использовать весь потенциал объектно-ориентированных возможностей JavaScript.

Не забывайте экспериментировать с этими методами и изучать более сложные концепции, чтобы глубже понять прототипы объектов JavaScript. Приятного кодирования!