我一直在努力升级一些代码以使用ES6语法.我有以下代码行:
delete this._foo;
我的linter提出了使用建议:
Reflect.deleteProperty(this, '_foo');
您可以在此处找到此方法的文档.
MDN文档指出:
Reflect.deleteProperty方法允许您删除对象上的属性.它返回一个布尔值,指示属性是否已成功删除.它几乎与非严格删除运算符相同.
我知道delete关键字不会返回一个表示成功的值,但它的冗长要少得多.
如果我不依赖成功/失败delete是否有任何理由支持Reflect.deleteProperty?这delete是非严格意味着什么?
我觉得ReflectAPI 的很多用例都是用于解决异常情况和/或提供更好的条件流,但代价是更冗长的陈述.我想知道如果Reflect我没有遇到我当前使用的任何问题,使用API 是否有任何好处.