在 ES2020 中,新增了一个 Nullish 合并运算符(??),它可以用于判断一个值是否为 null 或 undefined,如果是,则返回一个默认值,否则返回该值本身。
Nullish 合并运算符的语法
Nullish 合并运算符的语法如下:
const result = value1 ?? value2;
它的作用是判断 value1 是否为 null 或 undefined,如果是,则返回 value2,否则返回 value1。
Nullish 合并运算符的优点
Nullish 合并运算符与 || 运算符有所不同,|| 运算符在判断值时,会将 falsy 值(例如 '', 0, false 等)也视为 false,因此在某些情况下,可能会产生不符合预期的结果。而 Nullish 合并运算符仅在值为 null 或 undefined 时返回默认值,这样可以更加准确地判断一个值是否存在。
Nullish 合并运算符的示例
下面是一个使用 Nullish 合并运算符的示例:
const name = null; const defaultName = 'Tom'; const result = name ?? defaultName; console.log(result); // 'Tom'
在上面的示例中,由于 name 的值为 null,因此使用 Nullish 合并运算符时,会返回默认值 defaultName。
Nullish 合并运算符的应用
Nullish 合并运算符可以用于判断一个值是否存在,如果不存在,则使用默认值。例如,当我们需要获取一个配置项的值时,如果该配置项不存在,则可以使用默认值。
// javascriptcn.com 代码示例 const config = { timeout: 1000, retry: 3 }; const timeout = config.timeout ?? 5000; const retry = config.retry ?? 5; const delay = config.delay ?? 0; console.log(timeout, retry, delay); // 1000 3 0
在上面的示例中,我们使用了 Nullish 合并运算符来获取 timeout、retry 和 delay 这三个配置项的值,并设置了默认值。
总结
Nullish 合并运算符是 ES2020 中的一个新特性,它可以更加准确地判断一个值是否存在,并使用默认值。在实际开发中,可以用它来获取配置项的值、处理函数参数等。
来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/657d2f25d2f5e1655d7fb806