Javascript proto是对象的实际属性吗?[exploringjs.com]
我在读这本书,我看到有人提到 它从来不是真正的财产: 但正如我所看到的,如果我在控制台中运行此代码,它将返回trueJavascript proto是对象的实际属性吗?[exploringjs.com],javascript,Javascript,我在读这本书,我看到有人提到 它从来不是真正的财产: 但正如我所看到的,如果我在控制台中运行此代码,它将返回true 那么,作者犯了错误吗?还是同时更改了规范/实施?如果是,原因是什么?根据我的理解,作者提到了ES6之前使用的\uuuu proto\uuuu,大多数浏览器现在都支持ES6,它是一个属性峰值“在ECMAScript 6之前”,规范中没有描述它。所以你的意思是,在ES5中proto不是一个属性,而现在在ES6+中,是吗?是的,我的意思是它没有在规范中指定。所以它可以以引擎实现想要的任
那么,作者犯了错误吗?还是同时更改了规范/实施?如果是,原因是什么?根据我的理解,作者提到了ES6之前使用的
\uuuu proto\uuuu
,大多数浏览器现在都支持ES6,它是一个属性峰值“在ECMAScript 6之前”,规范中没有描述它。所以你的意思是,在ES5中proto不是一个属性,而现在在ES6+中,是吗?是的,我的意思是它没有在规范中指定。所以它可以以引擎实现想要的任何方式运行。这很简单,但是,这个词让我困惑:“然而,它从来不是一个实际的属性”
var obj = {};
"__proto__" in obj // false