介绍
在 JavaScript 中,当我们想要给一个变量赋一个默认值,或者想要在变量为空或者为 null
或 undefined
的时候给它赋一个默认值,通常我们会使用三元运算符或者逻辑或运算符。例如:
const age = user.age || 18; // 如果 user.age 为空或者为 null 或者 undefined,那么 age 就会被默认赋值为 18
然而,这种方式有一个问题,就是当 user.age
的值为 0
的时候,上面的代码还是会将 age
赋值为 18,因为 0
在 JavaScript 中被视为一个"假值"。在这种情况下,我们需要使用更准确的默认赋值方式,即 nullish 合并操作符(nullish coalescing operator)。
nullish 合并操作符是一个比较新的 ESNext 特性,在之前的版本中并没有被正式支持。但是,我们可以通过使用 @babel/plugin-proposal-nullish-coalescing-operator 这个 npm 包来实现该特性的支持。
安装
要使用 @babel/plugin-proposal-nullish-coalescing-operator,首先需要确保已经安装了 @babel/core 和 @babel/preset-env 这两个 npm 包。如果没有安装,可以使用以下命令进行安装:
npm install @babel/core @babel/preset-env --save-dev
然后,您就可以安装 @babel/plugin-proposal-nullish-coalescing-operator 这个 npm 包了:
npm install @babel/plugin-proposal-nullish-coalescing-operator --save-dev
使用
安装完成之后,您需要在 .babelrc 文件中添加 @babel/plugin-proposal-nullish-coalescing-operator 这个插件。可以在 plugins 节点下添加如下代码:
{ "presets": ["@babel/preset-env"], "plugins": ["@babel/plugin-proposal-nullish-coalescing-operator"] }
然后,您就可以在 JavaScript 代码中使用 nullish 合并操作符了:
const age = user.age ?? 18; // 使用 18 来作为默认值,只有当 user.age 显式地为 null 或者 undefined 时才使用默认值
示例
-- -------------------- ---- ------- ----- ---- - - ----- ----- ----- ---- - -- ----- ---- - -------- -- --- -- ---- --- ----- -------- --- - ----- ---- - -------- -- --- -- ---- --- ----- ------- ----- ------------------ -- -- ------------------ -- -
指导意义
nullish 合并操作符可用于简化 JavaScript 代码并提高代码可读性,特别是在对于 null 或者 undefined 的情况进行数据处理时更为方便。同时,了解和使用 @babel/plugin-proposal-nullish-coalescing-operator 这个 npm 包也能帮助我们更好地理解 JavaScript 开发生态和工具链。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/100526