В этой части учебника мы рассмотрим такую штуку как прототип объекта в JavaScript, это очень легкая тема, вы сейчас в этом убедитесь.
Что такое прототипы:
В языке программирования JavaScript есть понятие прототипа, если грубо говоря, то это стандартный объект, и при создание нового объекта/класса будут какие-то стандартные методы, но вы можете их дополнить.
Ещё можно сказать, что прототип своего рада подобие перегрузки, но не совсем.
Прототипы в JavaScript:
Теперь разберём как с этим работать, сделаем не большой класс, и посмотрим его прототипы.
1 2 3 4 5 6 7 8 9 10 11 | // Создаём объекта car const car = { brand: "Ваз", // Марка машины speed: "150", // Скорость машины weight: "2000", // Вес машины // Метод для показа данных объекта showMarka: function() { console.log("Марка: " + this.brand + "; Скорость: " + this.speed + "км/ч; Вес: " + this.weight + "кг;"); } } |
Здесь мы сделали не большой объект виде JSON, давайте рассмотрим их чего состоит объект в консоле браузера.
Как видите если мы посмотрим что имеет наш объект, в нём есть массив __proto__
, которая хранит в себе какие-то базовые методы для работы.
Также стоит сказать, что каждый элемент в языке JavaScript есть объект, то есть если мы создадим строку, это тоже будет объект.
Ещё в объекты/классы вы может добавлять свои прототипы, вот не большой пример.
1 2 3 4 5 6 7 8 9 10 11 | // Создаём объект const car = new Object({ brand: "Ваз", speed: "150", weight: "2000" }) // Создаём в нём метод в прототипе Object.prototype.gaz = function () { console.log("Врум Врум") } |
Тут мы создали новый объект, класса Object
, и также создали добавили новый прототип, стоит заметить что мы объявили прототип после создания объекта, давайте теперь посмотрим что получилось.
Как видите в прототипе появился новый пользовательский метод, который мы же создали, при этом это сделали после объявления объекта, всё потому что JS сначала смотрит что есть в коде, а потом уже начинает это интерпретировать.
И вы его всё также можете объявлять где нибудь в коде.
Вывод:
В этой не большой части вы узнали что такое прототип объекта в JavaScript, как его делать и зачем вообще он нужен, думаю вам было интересно.