18

後者が非標準であることは知っています。Object.getPrototypeOfしかし、 vsの間に違いはあり__proto__ますか? javascript のプロトタイプ チェーンがどのように機能するかを調査しており、この部分について明確にしたいと思います。

ありがとう。

4

4 に答える 4

22

MDNから:

Object.getPrototypeOf() は、古い非推奨の object.__proto__ プロパティの標準実装です。ただし、これは読み取り専用の方法です。

__proto__したがって、非標準であることを除いて、値を読み取っている場合、基本的に同じことを達成します。__proto__また、既存のオブジェクトのプロトタイプを設定できる可能性もありますが、一般的には良い考えではないため、コンストラクター関数を使用するかObject.create、特定のプロトタイプでオブジェクトを作成するのが標準です。とはいえ、ES6 仕様setPrototypeOfでは、オブジェクトのプロトタイプを設定するための も定義されていますが、パフォーマンス上の理由から、明示的に必要でない限り、それを避けるのが最善です。

于 2013-07-20T05:44:12.327 に答える