JavaScript 15プロトタイプ


https://www.youtube.com/watch?v=wUgmzvExL_E
難解な原型概念をアップルの講義にコードし、整理して少し理解しました、godding apple

プロトタイプの理解


クラス継承機能を実装する別の方法prototypejavascriptではprototypeは유전자です
class Champ { 
  constructor(qSkill, wSkill){ // 🔴
    this.qSkill = qSkill ;
    this.wSkill = wSkill ;
  }
}

let Malphite = new Champ("굴렁쇠", "박수")

Champ.prototype.eSkill = '쿵'; // 🔵 
まずChampというクラスを作成し、次にMalphiteというオブジェクトを作成します.ここではChampのPrototypeに{eSkill:"ガタン"}Propertyを追加

考えるべきこと。


1️⃣ console.log(Malphite.eSkill);
/空
歯が出てきたしかし、Malphiteオブジェクトに属性{eskill:“ドン”を追加していません.なぜこれを撮ったのですか.
👉🏼 親役のChampプロトタイプ(=遺伝子)に属性を追加したから!これにより、サブアイテムとしてのMalphiteは、属性を追加する必要がなくprototypeの属性∧を使用することができます.
2️⃣ console.log(Malphite);
//Champ {qSkill:[鉄輪],wSkill:[拍手]}
でも直接Malphiteを撮ると追加されていない{eSkill:‘ドン’}番組どうして.
👉🏼 親役のChamp原型の遺伝子に属性が加わっているから!直接malfitに追加するのではなくmalfitを出力する場合、このプロパティは単独では表示されません.でも遺伝子に含まれているので使えます
👉🏼 jsbinでは、{eSkill:"ドン"}が写っています.開発ツールの違いは...
3▼▼▼プロパティの追加位置
🔴 ここにPropertyを追加すると、サブオブジェクトは直接Propertyを持ちます.
🔵 ここにpropertyを追加すると、親プロトタイプのみがpropertyを持つ
4▼▼原理を受け継ぐ
サブオブジェクトにPropertyがある場合?持ってきてください.
サブオブジェクトにPropertyがない場合?親プロトタイプへのアクセス
もしあの両親のモデルにもなかったら?親の親...
もしあの両親のモデルにもなかったら?彼の両親の両親.
このような概念はprototype chainです

原型が遺伝子であることを理解する


まず配列を作成
let arr1 = [ 4, 6, 2, 3, 1, 8, 9, 5]
この配列はsort()メソッドで整理できます
arr1.sort()
しかし、この自然に使われるsort()メソッドは考えてみれば関数です.
私はこの関数を単独で定義したことがありません.直接書いたのです.どうしよう.
arr 1という配列の親オブジェクトの遺伝子、すなわちプロトタイプにsort()関数が内蔵されているからこそ!(アリーはこれか…?)✍🏼
私が知っているように、アレイarr 1の親(?)Arrayの原型

こうして出てきたここには既に何度か見たpop()やslice()などの関数が内蔵されているので、Arrayサブオブジェクトとしてのすべての新しい配列を個別に設定することなく関数に書き込むことができます.

だからMDNサイトでArrayprototype.このように出てくるのは理由がある.
私はArrayに私の声明の配列を置いて、それから考えて、うん?真ん中の原型は何ですか?これでいいのか、やっぱり思い違いだ!
MDNのArray.prototype.sort()の意味は:
Arrayという親オブジェクトのプロトタイプにおけるsort()関数(メソッド)
今混同しています!✍🏼
まず私が宣言したアレイarr 1の親はArrayですか…?
そう思えるのはarr 1が並んでいるからでしょうか?
ただしコンソールこのように印刷された内容は配列がオブジェクトであると理解できる.
console.log(Array)//「function」出てきた?それは何ですか.