数据属性:一般用于存储数据数值 访问器属性:一般进行get和set操作,不能直接存储数据数值 属性的特性 es5中,我们为了描述属性(property)的各种特征,定义了特性(attribute)。 js不能直接访问特性,要放在[[]]中 要修改特性,使用es5的defineProperty方法,有三个参数,对象,属性,描述符对象(可以是一个或者多个特性) 数据类...
数据属性 -> 访问器属性 属性的特性只能是访问器描述符和数据描述符中的一种,给已有的数据属性加get或set转换为访问器属性时,其属性的value、writable就会被废弃。 //设置get和set其中任意一个即可转换为访问器属性Object.defineProperty(person, "year", { get:function() {returnthis._year; }, set:function(...
在JS中,对象的属性分类为两类: 数据属性:拥有四大属性特性的属性都属于数据属性。你自定义的属性默认都具有四大属性特性 [[configurable]]:可配置 [[enumerable]]:可枚举 [[writable]]:可修改 [[value]]:值 访问器属性:拥有这四大特性的属性就是访问器属性。
属性值[Value]:表示属性值。 2.2 访问器属性 访问器属性不包含数据值,而是包含一对getter和setter函数(这两个函数非必须)。在读取访问器属性时,调用getter函数,在写入访问器属性时,调用setter函数。访问器属性由4个特性: 可配置性 [Configurable]:表示能否通过delete删除属性,能否修改属性特性,能否把访问器属性修改为...
[[Configurable]]: 表示能否通过 delete 删除属性,能否修改属性的特性,能否将数据属性和访问器属性互转。 如果为 false,只可以把 [[Writable]] 从 true 变为 false,[[Enumerable]] 和 [[Configurable]] 的值都不能再改变,[[Value]] 只取决于 [[Writable]] ,数据属性不能变成访问器属性,访问器属性也不能变...
访问器属性: 一个对象有多个属性,当你访问此对象的某个属性时,期间发生了什么从开始到结束 这里说一下 configurable 和 enumerable 也是访问器属性,上面以做出解释,这里就不写了,主要是以下两个 get:取值getter 函数,默认为 undefined,当访问该属性时,会调用此函数,执行时不传入任何参数,但是会传入this对象(由于继...
对象里目前存在的属性描述符有两种主要形式:数据描述符和存取描述符。 一个描述符只能是这两者其中之一;不能同时是两者 数据描述符是一个具有值的属性,该值可以是可写的,也可以是不可写的。 存取描述符是由 getter 函数和 setter 函数所描述的属性。 访问器属性中要使用对象自己的属性时,也必须使用this.来访问...
writable:决定属性能否被赋值。 enumerable:决定for in能否枚举该属性。 configurable:决定该属性能否被删除或者改变特征值。 在大多数情况下,我们只关心数据属性的值即可。 第二类属性是访问器(getter/setter)属性,它也有四个特征。 getter:函数或undefined,在取属性值时被调用。
深入解析JS中对象属性的两种类型:数据属性与访问器属性,将帮你更好地理解JavaScript中的属性机制。在ECMAScript中,属性可以分为两种:数据属性和访问器属性。数据属性:它定义了对象中的属性特性,规定了属性的功能与限制。属性值默认为 undefined,且具有四个描述符:writable、enumerable、configurable与...