gpt4 book ai didi

javascript - 使用 Reflect.defineProperty 而不是 Object.defineProperty 更好吗?

转载 作者:行者123 更新时间:2023-11-29 17:46:25 25 4
gpt4 key购买 nike

在 React 配置中使用 eslint 在使用 Object.defineProperty 时出现错误。错误说:

Avoid using Object.defineProperty, instead use Reflect.defineProperty. (prefer-reflect)

在 eslint 上 documentation of prefer-reflect他们说它已被弃用,原因是:

The original intent of this rule now seems misguided as we have come to understand that Reflect methods are not actually intended to replace the Object counterparts the rule suggests, but rather exist as low-level primitives to be used with proxies in order to replicate the default behavior of various previously existing functionality.

那么我的问题是:使用 Reflect.defineProperty 代替 Object.defineProperty 有什么优势吗?

最佳答案

Object.defineProperty之间略有不同和 Reflect.defineProperty :前者返回目标对象并在无法应用描述符时抛出异常(例如,当属性不可写或不可配置或对象不可扩展时),而后者确实返回一个 bool 值是否它奏效了。

我认为这会使 Object.defineProperty 更有用,除非您要实现 defineProperty proxy trap .

关于javascript - 使用 Reflect.defineProperty 而不是 Object.defineProperty 更好吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49085608/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com