JavaScript で OOP について学ぶ
3457 ワード
ブログに決意を込めて
私は LaunchSchool の経験の 1 つのクラスであり、これまでのところ私の期待に応えています.私の小さな学校の「なんでも屋の 1 人 IT 部門」出身の LaunchSchool は、私の技術的バックグラウンドに非常に必要な磨きをかけてくれているようです.
JS-120 - 心配するのをやめて OOP を愛するようになった方法
JavaScript での OOP について学ぶことを検討してください.間違いなく、私が慣れ親しんでいるいくつかのアイデアだけでなく、いくつかの新しい工夫も含まれています. LaunchSchool のマスタリー メソッドの小道具 - もし私がオブジェクト参照についてぼんやりと理解していれば、プロトタイプはすぐに作成できるでしょう.
今日は、OOP パターンの簡単な要約です (私はアマチュアだと言いましたか? 情報を得るためにこれを読んでいる場合は、別の場所に行ってください).
コンストラクター関数
function Car() {
//code
}
let myCar = new Car();
注意事項:
new
キーワードは非常に重要です - コンストラクター関数は実際には何も返しませんが、new
で呼び出すと新しいオブジェクトが作成されます (そして、それは実行コンテキストとして設定されます - つまり、コンストラクター内で this
になります).新しいオブジェクト - また、Car.prototype
が新しいオブジェクトの [[Prototype]]
プロパティに割り当てられます. OLOO - 他のオブジェクトにリンクされたオブジェクト
let CarPrototype = {
init(params){
return this;
}
drive(){
}
}
let car1 = Object.create(CarPrototype).init(args);
ここでは、プロトタイプ オブジェクトを作成し、
Object.create()
を使用してプロトタイプの関係を設定します.従来の init
メソッドを使用すると、初期プロパティを簡単に設定できます. init
がどのように this
を返すかに注意してください.これは、メソッド チェーンが機能するために絶対に必要です.ES6 クラス
class Car {
constructor(params){
}
drive() {
}
}
let myCar = new Car(args);
Java と Python に手を出した経験から、これは私が自然に引き寄せられるパターンです.
constructor
メソッドに注意してください - new
を使用して呼び出され、サブクラス化するときに重要になります.私が持っている残りの質問、順不同
Reference
この問題について(JavaScript で OOP について学ぶ), 我々は、より多くの情報をここで見つけました https://dev.to/martinandersongraham/learning-about-oop-in-javascript-5gj6テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol