在破坏要采用的安全模式时,{foo=foo}验证技巧是什么



我在这里的一个答案中读到了这个技巧,可以验证foo属性的存在,如下所示:

const {foo = foo} = bar

它抛出Uncaught ReferenceError:当fooundefined时,无法在初始化前访问"foo"。

这是JS中定义明确的行为吗?这是否适用于所有最新的JavaScript版本和环境(浏览器、节点(以及未来可能的版本和环境?

如果我不在乎有更具体的错误消息,我想看看开始使用它作为一种方便的简写验证是否有意义。谢谢

这是JS中定义良好的行为吗?

是。它依赖于constlet变量的时间死区。不过,如果将这些数据传输到var,则可能无法工作。

我正在尝试将其作为一种方便的缩写验证来使用是否有意义

不,请不要。这真的是一个晦涩难懂的代码,每个linter都会在定义之前抱怨使用。即使你不关心特定的错误消息,至少要使用

const {foo = error()} = bar;

具有投掷CCD_ 7功能以使意图清楚。

相关内容

  • 没有找到相关文章

最新更新