一、大家都知道,面向对象语言有一个标志,那就是他们都有类的概念,通过类我们可以创建任意多个具有相同属性和方法的对象。...但ECMAScript(指定JavaScript标准的机构,也就是说JavaScript是实现其标准的扩展)并没有类的概念,因此他的对象和基于类的语言中的对象有所不同,ECMAScript把对象定义为:...ECMA-262定义这些特性是为了实现JavaScript引擎用的,因此在JavaScript中不能直接访问他们,为了表示特性是内部值,ECMA-262规范把它们放在了两对方括号中,例如[[Enumerable...输出:TypeError: can't redefine non-configurable property "name"
注意:当我们调用Object.defineProperty()方法,在指定了对象和对象的属性却没有指定描述符对象的的...对于直接在对象上定义的属性。这个特性的默认值为true。
[[Get]]:在读取属性时调用的函数,默认值为undefined。
[[Set]]:在写入属性时调用的函数。默认值为undefined。