Pro*_*was 10 javascript ecmascript-5
ECMAScript中的内部属性定义了什么?规范是什么意思
此规范使用各种内部属性来定义对象值的语义.这些内部属性不是ECMAScript语言的一部分.它们仅由出于说明目的而由本规范定义.
这是否意味着ECMAScript定义的内部属性不可用于编程.它们用于实现javascript引擎?
内部属性定义代码执行时的行为,但不能通过代码访问.ECMAScript为JavaScript中的对象定义了许多内部属性.内部属性由双平方括号表示.
例如,JavaScript函数是一个对象,它具有[[call]]属性.[[call]]属性是函数的唯一属性.
另一个内部属性示例是[[prototype]]属性.此属性是指向实例正在使用的原型对象的指针.由于无法通过代码访问内部属性,因此对象实例化无法访问原型,而其属性对对象都可用.您可以通过对对象使用Object.getPrototypeOf()方法获取[[prototype]]属性的值.
var obj = new Object();
var prototype = Object.getPrototypeOf(obj);
console.log(prototype == Object.prototype);
Run Code Online (Sandbox Code Playgroud)
这是否意味着 ECMAScript 定义的内部属性不可用于编程。它们用于 javascript 引擎的实现?
是的。它们仅用于实现目的,不需要“实名”。您可以在#8.6.2 对象内部属性和方法中阅读相关内容。