(一)需要

被问到了,原本认为会,后果发现之前了解的不大对。

(二)介绍

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 modeconsole.log(object1.property1);// expected output: 42

描述符可领有的键值

configurableenumerablevaluewritablegetset
数据描述符能够能够能够能够不能够不能够
存取描述符能够能够不能够不能够能够能够

如果一个描述符不具备 valuewritablegetset 中的任意一个键,那么它将被认为是一个数据描述符。如果一个描述符同时领有 valuewritablegetset 键,则会产生一个异样。

参考链接

https://developer.mozilla.org...

写在最初的话

学习路上,经常会懈怠。

《有想学技术须要监督的同学嘛~》
https://mp.weixin.qq.com/s/Fy...

如果有须要的搭档,能够加我微信:learningisconnecting
或者能够关注我的公众号:国星聊成长(我会分享成长的办法)