对象--属性的类型
- 数据属性:包含一个保存数据值的位置,有四个特性描述它们的行为。
- [[Configurable]]:表示属性是否可以通过 delete 删除并重新定义,是否可以修改它的特性,以及是否可以把它改为访问器属性。默认情况下,所有直接定义在对象上的属性的这个特性都是 true.
- [[Enumreable]]:表示属性是否可以通过 for-in 循环返回。默认情况下,所有直接定义在对象上的属性的这个特性都是 true.
- [[Writable]]:表示属性的值是否可以被修改。默认情况下,所有直接定义在对象上的属性的这个特性都是 true.
- [[Value]]:包含属性实际的值。这个特性的默认值为 undefined。
想要修改属性的默认特性,必须使用Object.defineProperty()方法。方法接收三个 参数:要给其添加属性的对象、属性的名称和一个描述符对象。
let person = {}; Object.defineProperty(person, "name", { writable: false, value: "Nicholas" }); console.log(person.name); // "Nicholas" person.name = "Greg"; console.log(person.name); // "Nicholas"
一个属性被定义为不可配置之后,就不能再变回可配置的了。
JavaScript高级程序设计(第四版)--学习记录之对象、类与面向对象编程(上)
于 2024-06-27 10:18:00 首次发布