引言
在编写 JavaScript 代码时可能会遇到undefined or null类型的错误,这些错误经常在代码执行期间导致程序停止运行。ECMAScript 2019 引入了nullish合并运算符,为我们提供了一种避免这种类型错误的方法。
本文将介绍如何使用 ECMAScript 2019 的 nullish 合并运算符来避免undefined or null类型的错误,同时还提供了一些实用的示例代码。
nullish 合并运算符
nullish 合并运算符,也称为 ??
,是 ECMAScript 2019 的一个新功能。它是一种逻辑运算符,用于检查表达式的左侧是否为 null
或 undefined
,如果是则返回右侧值,否则返回左侧值。它只在左侧的值为null
或 undefined
时返回右侧的值,否则返回左侧的值。示例代码如下:
const a = null; const b = 'hello'; const c = a ?? b; console.log(c); // 'hello'
在上面的示例代码中,变量 a 的值为 null
,因此变量 c 的值为变量 b 的值。如果变量 a 的值不为 null
,则变量 c的值将为变量 a 的值。
通过使用 nullish 合并运算符,我们可以更轻松地避免因使用 undefined or null 类型的变量而导致的错误。接下来,我们将提供一些更实用的示例代码。
示例代码
示例 1:检查一个变量是否未定义
常见的问题之一是检查一个变量是否已经定义。在旧版本的 JavaScript 中,通常使用以下方式:
const a = ''; if (a === undefined || a === null) { console.log('a is not defined'); } else { console.log('a is defined'); }
在 ECMAScript 2019 中,我们可以使用 nullish 合并运算符:
const a = ''; const b = a ?? 'a is not defined'; console.log(b); // ''
在上面的代码中,变量 a 的值为空字符串,但由于 undefined 和 null 不是空字符串,因此这个代码不会执行指定的默认值。
示例 2:设置默认值
在旧版本的 JavaScript 中,如果要在变量值未定义或为空时使用默认值,则通常使用以下代码:
const a = ''; const b = a.length || 0; console.log(b); // 0
在 ECMAScript 2019 中,我们可以使用 nullish 合并运算符更轻松地实现相同的结果:
const a = ''; const b = a?.length ?? 0; console.log(b); // 0
在上面的代码中,如果 a 的值未定义或为空,则使用默认值。否则,使用a的长度值。
结论
通过使用 ECMAScript 2019 的 nullish 合并运算符,我们可以更轻松快捷地避免 undefined or null 类型的错误。本文还提供了一些实用的示例代码,希望您能通过本文更好地理解和掌握这个重要的新功能。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/66f8fc21c5c563ced5c3dabb