1
00:00:00,930 --> 00:00:06,480
前のビデオにようこそ、私たちは、javascriptがプロトタイプチェーンを仕上げることで、オブジェクトのメソッドとプロパティを見つけられることを確認しました。

2
00:00:06,570 --> 00:00:08,470
&nbsp;

3
00:00:08,760 --> 00:00:14,070
プロトタイププロパティは、そのコンストラクタ関数から作成されたすべてのオブジェクトの中で共有したいプロパティとメソッドを配置するのに最適な場所であることもわかりました。

4
00:00:14,070 --> 00:00:18,310
&nbsp;

5
00:00:18,960 --> 00:00:23,910
例を見て、プロトタイプオブジェクトにメソッドやプロパティを配置することが非常に効率的である理由を見てみましょう。

6
00:00:23,910 --> 00:00:25,340
&nbsp;

7
00:00:25,440 --> 00:00:31,050
この例では、person constructor関数から作成されたオブジェクトにSay hiというメソッドを追加します。

8
00:00:31,050 --> 00:00:31,840
&nbsp;

9
00:00:32,220 --> 00:00:33,650
これで完全にうまくいくはずです。

10
00:00:33,840 --> 00:00:36,430
しかし、ちょうど私たちがしたことについてもう少し考えてみましょう。

11
00:00:36,690 --> 00:00:42,800
personオブジェクトが作成されるたびに、そのオブジェクトに対してこの関数を定義する必要があります。

12
00:00:42,870 --> 00:00:47,750
したがって、コンストラクタから100万個のオブジェクトを作成するときに、同じ高さのプロパティを追加しています。

13
00:00:47,790 --> 00:00:51,110
百万回は非常に効率的ではないようです。

14
00:00:51,240 --> 00:00:56,760
&nbsp;

15
00:00:56,760 --> 00:01:02,640
&nbsp;

16
00:01:03,630 --> 00:01:04,810
一度定義すれば、人のコンストラクタから作成されたすべてのオブジェクトからアクセスできるようになり、プロトタイププロパティにメソッドを配置するだけで、以下の例ではできます。

17
00:01:04,890 --> 00:01:10,260
&nbsp;

18
00:01:10,260 --> 00:01:16,320
私たちは上からコードをリファクタリングしていますので、このコードがはるかに効率的で、javascriptのオブジェクト指向プログラミングでベストプラクティスを使用すれば、高い機能を定義することができます。

19
00:01:16,320 --> 00:01:17,910
今ではあなたの番です。

20
00:01:17,970 --> 00:01:20,450
ビークルのコンストラクタ関数を作成します。

21
00:01:20,730 --> 00:01:26,400
このコンストラクタ関数から作成されたすべてのオブジェクトは、makeモデルとyearプロパティを持つ必要があります。各オブジェクトには、runningと呼ばれるプロパティも必要です。これはfalseに等しくなければなりません。

22
00:01:26,460 --> 00:01:31,660
&nbsp;

23
00:01:32,070 --> 00:01:37,590
onという関数があります。この関数は、そのオブジェクトのrunningプロパティをtrueに変更します。ローカルコンストラクターから作成されたすべてのオブジェクトには、turn

24
00:01:37,590 --> 00:01:43,800
offという関数があります。

25
00:01:43,860 --> 00:01:49,250
Vehicleコンストラクターから作成されたすべてのオブジェクトには、Turn

26
00:01:49,290 --> 00:01:55,050
最後に、ビークルコンストラクターから作成されたすべてのオブジェクトに、ビープ音を出力するhonkというメソッドが必要です。

27
00:01:55,050 --> 00:01:56,370
&nbsp;

28
00:01:56,370 --> 00:02:01,790
そのオブジェクトの実行中プロパティがtrueの場合のみ。

29
00:02:01,830 --> 00:02:06,630
コンストラクタ関数から作成された車両オブジェクトに対して、これらのプロパティとメソッドのそれぞれを定義する場所を考え、次のビデオの解決策を検討してください。

30
00:02:06,630 --> 00:02:10,530
&nbsp;

31
00:02:10,530 --> 00:02:10,920
がんばろう
