GoogleChrome(27.0.1425.2 dev-mあたり) の __proto__ 挙動が変わった
コミットログより、以下2点が変更された模様
- "__proto__"プロパティを Object.prototype へ
- JSON.parse 時に "__proto__" プロパティを特別扱いしない
これで、__proto__プロパティの不思議 - hogehogeやJSON.parse('{"__proto__": null}') - hogehogeにおけるv8エンジンでの挙動が修正され、FirefoxのSpiderMonkeyに似た動きとなる。
Developer Tools の Console の挙動
var o = {}; Object.defineProperty(o, "__proto__", { value: "__PROTO__" }); // "TypeError"
などと、"__proto__"に文字列(おそらくプリミティブ値)をセットしようとすると、コンソール上、"TypeError"
と出るが、実際には正しくセットされている。Consoleの表示上の問題だと思われ、v8エンジンの問題ではないだろう。(報告しておいた)