gpt4 book ai didi

javascript - Nullish 合并运算符不工作或未启用?

转载 作者:行者123 更新时间:2023-12-05 02:40:42 24 4
gpt4 key购买 nike

我正在研究如何在 javascript 中设置变量,并且在我在这里看到的一篇帖子中发现了关于 Nullish 合并运算符 (??) 的信息。

但是现在,当我尝试使用它时,出现了这个错误:

Unexpected token, expected ,

对于这一行:

var oldBookScript = (localStorage.getItem(book.id) ?? newBookScript);

我希望变量 oldBookScript 具有 localStorage.getItem(book.id) 的值,但如果它为 null 或空,我希望它具有该值newBookScript

我需要以某种方式启用它吗?

谢谢!

最佳答案

它是一种语法结构,这意味着为了使用它运行代码,您需要处于一个足以支持它的最新环境中。

例如,最新版本的 Node、Chrome 和 Firefox(以及其他)都可以很好地运行您的代码,但较旧的环境(如 IE11)会抛出语法错误。

在标准脚本中,考虑到它的语法,无法在特定环境中“启用”它——支持或不支持。在这种情况下通常的做法是使用 Babel将源代码(具有所有现代语法)转换为 ES6 或 ES5,以便过时的浏览器可以理解它。

但是如果你使用的是 React,你的代码的 JSX 已经被转译了。 create-react-app 的最新版本 does support the nullish coalescing operator .如果可能,请升级到更新版本的 create-react-app。如果您有更多的手动设置,则需要确保您的代码正在使用 Babel 进行转译并使用 Babel 7.8.0 or later .

参见 these docs来自 Babel 关于通过 @babel/preset-react 预设将其集成到 React 中。

关于javascript - Nullish 合并运算符不工作或未启用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68413983/

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