検索アルゴリズム
重要性: 5
このタスクは2つのパートを持っています。
オブジェクトがあります:
let head = {
  glasses: 1
};
let table = {
  pen: 3
};
let bed = {
  sheet: 1,
  pillow: 2
};
let pockets = {
  money: 2000
};
        __proto__を使って、プロパティの参照が次のパスに従うようプロトタイプを割り当てます:pockets→bed→table→head. 例えば、pockets.penは3(tableにある), でbed.glassesは1(headにある)です。- 質問に答えてください: 
glassesを取得するのにpocket.glassesがより速いですか?それともhead.glassesでしょうか?必要に応じてベンチマークしてください。 
- 
__proto__を追加してみましょう:let head = { glasses: 1 }; let table = { pen: 3, __proto__: head }; let bed = { sheet: 1, pillow: 2, __proto__: table }; let pockets = { money: 2000, __proto__: bed }; alert( pockets.pen ); // 3 alert( bed.glasses ); // 1 alert( table.money ); // undefined - 
現代のエンジンにおいて、パフォーマンス面ではオブジェクトもしくはそのプロトタイプからプロパティを取得するかどうかの違いはありません。プロパティが見つかった場所を覚えており、次の要求で再利用します。
例えば、
pockets.glassesでは、glasses(headの中)がどこにあるのかを覚えていて、次回そこをすぐに探します。また、何か変更があった場合に内部キャッシュを更新するには十分賢いので、最適化は安全です。