UNPKG

planetproto

Version:

A Workshop for understanding JavaScript prototypes

46 lines (33 loc) 1.69 kB
\_\_proto\_\_ オブジェクトについて ------------------ prototype chainについて理解する為には`__proto__`プロパティが一番の近道です残念なことに`__proto__`はES6までは標準化されていない為プロダクションで使うのは非推奨とされていますただしprototypeの説明を簡単にしてくれます ```js // alienオブジェクトを作って var alien = { kind: 'alien' }; // robotオブジェクトも作ります var robot = { kind: 'robot' }; // そして'zippy'というオブジェクトを作ります var zippy = {}; // zippyのprototypeとしてalienを指定します zippy.__proto__ = alien; // zippyはalienとリンクされて // alienのプロパティを'継承'します console.log(zippy.kind); //=> 'alien' // robotをzippyのprototypeとして指定します zippy.__proto__ = robot; // 今度はzippyはrobotとリンクされます console.log(zippy.kind); //=> 'robot' ``` 上のコードを見てわかるように`__proto__`プロパティは理解するのも使うのも容易です確かにプロダクションで`__proto__`は非推奨ですがJavaScriptのオブジェクトモデルを知る上でこう言った例はとても有用だと思います あるオブジェクトがある違うオブジェクトのprototypeかどうか確認する方法として以下があります: ```js console.log(alien.isPrototypeOf(zippy)); //=> true ``` 問題 ---------- 問題を解くために020.jsというボイラープレートファイルが用意されていますこのファイルに問題を解く為の説明などが含まれています