最後のビデオでは、この動画のnewキーワードを使用してコンストラクタ関数からオブジェクトを作成する方法を見てきました。
コードを複製せずに複数のコンストラクタ関数を使用する方法を学びます。
ここの材料は挑戦的になるだろう。
そのため、キーワードのビデオシリーズを見ていたことを確認してください。
さて、車用とオートバイ用の2つのコンストラクタ関数があるとしましょう。
ここには両方のコードがあります。ここでは、newキーワードを使用してオブジェクトを構築する関数は何も特別なものではありません。
しかし、このコードについてはあまり良くありません。
オートバイ機能でどのくらいのコードを複製しているのか見てみましょう。
何とかカード機能からコードを借りてオートバイ機能に入れることができれば、本当にきれいです。
だから、なぜオートバイ機能の中で車の機能を呼び出さないのか考えているかもしれません。
ここで問題となるのは、car関数をキーワードと呼びます。これは、car関数から作成されるオブジェクトを指します。
しかし、それは間違ったことです。
ここで行う必要があるのは、キーワードthisの値をモーターサイクル関数から作成されたオブジェクトに変更することです。
では、キーワードの価値をどのように変更することができますか？
これを明示的にバインドして、キーワードthisの値を調べる第3のルールに戻ります。
つまり、関数の定義を返すことは望ましくないので、呼び出しを適用するか、適用するかのどちらかを選択するために、バインドを使用して呼び出すことができます。
もっと良いことに、両方を見て、どちらが警告としてのより良い選択であるかを見てみましょう。
私があなたに示すコードは、最初はかなり混乱するかもしれません。
だから、ビデオを一時停止して、最初にそれを読んで、クロムコンソールに入れて、何が起こっているのかを確かめてみてください。
したがって、車の機能は同じように見えますが、車の機能からコードを複製するのではなく、オートバイの機能で楽しいことが起こっています。
私たちは車の機能を呼び出すが、キーワードのコンテキストをこれをキーワードに変更する。
どういう意味ですか。
私たちがキーワードの正しい文脈を失ったコールを使用しなかったときには、私たちの問題に前向きに考えてください。
これはキーワードの正しい値です。
これはオートバイ機能から作成されたオブジェクトでなければなりません。
新しいキーワードが使用されると、そのオブジェクトにアクセスする方法は、オートバイ機能のキーワードthisを使用することです。
これはかなり混乱しています。
だからもう一度それを理解しようとしましょう。
バイクの機能から重複を取り除きたい。
そこで、私たちがやっていることは、モーターサイクル機能の中で呼び出すことによって、車の機能からコードを借用することです。
ここでの問題は、車の機能の中のこのキーワードが、これを使用したいキーワードではないということです。
だから我々は、これを行うためにキーワードの値を変更する必要があります。
また、呼び出すか適用する最初のパラメータとして、キーワードの値を希望する値にするかどうかを指定します。
thisキーワードは、オートバイ機能から作成されるオブジェクトです。
そのオブジェクトにアクセスする方法は、オートバイ機能のキーワードthisを使用することです。
そのため、呼び出すか適用する最初の引数は、オートバイ機能から作成されたオブジェクトを参照するthisキーワードです。
新しいキーワードが使用されている場合、これはまだ心配していません。
私たちはかなり高度なJavaScriptをここでやっています。
ビデオを一時停止して、これらのコード例を試してみてください。
また、いつものように質問をして電話や応募をすることができます。
しかし、唯一の違いは2番目のパラメータの適用を適用する2番目のパラメータを適用することは、関数に渡される引数の配列なので、モデルと年を配列に入れたり、別の特殊キーワードキーワード。
前に引数を見たことがあるかもしれませんが、引数が関数に渡されたすべての引数のリストでなければ、それは技術的には配列ではありません。
しかし、私たちの目的のために、ここでは引数配列を使った簡単な例を考えてみましょう。
関数に渡された引数を返すリスト引数と呼ばれる関数を作成します。
今度はリストの引数を1つ2つと3つと呼ぶことにしましょう。
その関数に渡された引数の配列を取得します。
今の例では、リストの代わりにarguments配列を使用できます。
モデルと年を作る。
かなり良いリファクタを置く。
私たちは車の3つの機能をコピーして貼り付けることから、車の機能を借用してキーワードのコンテキストを変更し、次のビデオでその機能に引数を渡すことになりました。
ここでは、コンストラクタ関数と新しいキーワードについて学んだことを要約します。
いずれかを参照