Рубрики
Uncategorized

JavaScript Proto и прототип ⚙

Оглавление введение Что такое прото? Заключение введение … Tagged с JavaScript, React, Beginters, DevOps.

Оглавление

  • Вступление
  • Что такое прото?
  • Вывод

Вступление

JavaScript можно описать как язык на основе прототипа. Это связано с способностью объекта иметь прототип объекта, который позволяет им наследовать функции друг от друга. Вы можете прочитать больше об этом в MDN Web Docs Анкет

Но если вы когда -либо смотрели на массив в своей консоли, вы можете заметить __ Прото __, что именно это?

Что такое прото?

Если вы еще этого не сделаете, откройте консоль браузера. Теперь создайте пустой массив ([]). После того, как вы создаете массив, разверните его, используя > икона. Виола! Вы увидите ** Прото ** атрибут.

[]
length: 0
__proto__: Array(0) // <--- Here it is!
length: 0
constructor: ƒ Array()
concat: ƒ concat()

Неважно, как вы создаете свой массив, вы всегда найдете атрибут Proto.

let example = [1,2,3,4,5]

example
(5) [1, 2, 3, 4, 5]
0: 1
1: 2
2: 3
3: 4
4: 5
length: 5
__proto__: Array(0) <-- woah! There it is again!

Каждый раз, когда мы строим новый массив, он использует конструктор массива, поэтому Proto ищет план массива. Он ссылается на все свойства и методы из этого плана. Если вы вводите Array.prototype , вы увидите тот же список методов, что и указанный выше.

Прото это способ JavaScript ссылаться на оригинальный прототип. И это относится к любому объекту React!

Попробуем еще один пример …

Object.prototype

{constructor: ƒ, __defineGetter__: ƒ, __defineSetter__: ƒ, hasOwnProperty: ƒ, __lookupGetter__: ƒ, …}

Бум! Все методы и свойства.

Добавление к прототипу

Хотите верьте, хотите нет, вы можете добавить свои собственные методы в чертех массива.

Array.prototype.phrase = () => console.log("I like math")

Теперь любой существующий массив будет иметь этот метод фразы, включая пример массива, который мы только что создали:

(5) [1, 2, 3, 4, 5]
0: 1
1: 2
2: 3
3: 4
4: 5
length: 5
__proto__: Array(0)
phrase: () => console.log("I like math") <--- Magic.

Если бы вы назвали метод фразы …

example.phrase() // "I love math"

Вывод

  1. Все в JavaScript ссылках/свойствах от его плана.
  2. Вы можете добавить и изменить функции прототипа в черте.
  3. Proto ссылается на оригинальные функции прототипа Blueprint.

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

Оригинал: «https://dev.to/mmeurer00/javascript-proto-and-prototype-a2a»