共计 764 个字符,预计需要花费 2 分钟才能阅读完成。
(一)需要
被问到了,原本认为会,后果发现之前了解的不大对。
(二)介绍
1、答案
是 3 个参数
- obj 要定义属性的对象;
- prop 要定义或批改的的属性名称或 Symbol
- descriptor 要定义或批改的属性描述符
对象里目前存在的属性描述符有两种次要模式:数据描述符 和存取描述符。
- 数据描述符 是一个具备值的属性,该值能够是可写的,也能够是不可写的。
- 存取描述符 是由 getter 函数和 setter 函数所形容的属性。
一个描述符只能是这两者其中之一;不能同时是两者。
(三)Demo
const object1 = {};
Object.defineProperty(object1, 'property1', {
value: 42,
writable: false
});
object1.property1 = 77;
// throws an error in strict mode
console.log(object1.property1);
// expected output: 42
描述符可领有的键值
configurable |
enumerable |
value |
writable |
get |
set |
|
---|---|---|---|---|---|---|
数据描述符 | 能够 | 能够 | 能够 | 能够 | 不能够 | 不能够 |
存取描述符 | 能够 | 能够 | 不能够 | 不能够 | 能够 | 能够 |
如果一个描述符不具备 value
、writable
、get
和 set
中的任意一个键,那么它将被认为是一个数据描述符。如果一个描述符同时领有 value
或 writable
和 get
或 set
键,则会产生一个异样。
参考链接
https://developer.mozilla.org…
写在最初的话
学习路上,经常会懈怠。
《有想学技术须要监督的同学嘛~》
https://mp.weixin.qq.com/s/Fy…
如果有须要的搭档,能够加我微信:learningisconnecting
或者能够关注我的公众号:国星聊成长(我会分享成长的办法)
正文完
发表至: javascript
2022-04-26