JS的数据描述符和存取描述符,相当于两种规则,只能选取一种规则?

1: 给对象属性设置属性描述符, 设置数据描述符或者存取描述符,只会启用其中一种
2: https://img2.mukewang.com/5c29afa20001dddb07590432.jpg

https://img2.mukewang.com/5c29afac0001a4ab10100036.jpg

3: get方法没有效果了.

临摹微笑
浏览 739回答 1
1回答

守候你守候我

JS的数据描述符和存取描述符只能选取一种规则。ToPropertyDescriptor规范定义部分如下:If either desc.[[Get]] or desc.[[Set]] is present, thenIf either desc.[[Value]] or desc.[[Writable]] is present, throw a TypeError exception.以上说明如果在使用defineProperty方法的时候,如果同时定义了这两种描述符,会报错,测试截图如下:另外,如果使用一种描述符定义属性后,再使用另一种属性描述符重新定义也是可以的,只不过两种描述符不共有的描述符会重置为默认值。ValidateAndApplyPropertyDescriptor规范定义部分如下:测试截图如下:
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript