随着 JavaScript 的发展,ES11 新增了一种空值合并运算符,可以更方便地判断 undefined 和 null 值。在前端开发中,经常需要判断变量是否为 undefined 或 null,这时候就可以使用空值合并运算符来解决这个问题。
空值合并运算符
空值合并运算符(??)是一个新的二元运算符,用于判断一个值是否为 null 或 undefined。它的语法如下:
const result = a ?? b;
如果变量 a 的值为 null 或 undefined,那么 result 的值就是 b。如果变量 a 的值不为 null 或 undefined,那么 result 的值就是 a。
使用空值合并运算符的优点
使用空值合并运算符可以更方便地判断变量是否为 null 或 undefined,而且可以避免一些常见的错误。
避免 undefined 和 null 的判断错误
在 JavaScript 中,使用双等号(==)或三等号(===)判断变量是否为 null 或 undefined 时,会出现一些意外的情况。比如:
console.log(null == undefined); // true console.log(0 == undefined); // false console.log('' == undefined); // false
使用空值合并运算符可以避免这些意外的情况,代码更加可靠。
简化代码
使用空值合并运算符可以简化代码,减少重复的判断。比如:
// 传统写法 const result = a !== undefined && a !== null ? a : b; // 使用空值合并运算符 const result = a ?? b;
使用空值合并运算符的示例代码
-- -------------------- ---- ------- ----- - - ---------- ----- - - ----- ----- - - -- ----- - - -------- ------------- -- -------- -------- -- -------- ------ ------------- -- -------- -------- -- -------- ------ ------------- -- -------- -------- -- - ------------- -- -------- -------- -- -------
总结
空值合并运算符是 ES11 新增的一个二元运算符,用于判断一个值是否为 null 或 undefined。它可以避免一些常见的判断错误,同时还可以简化代码。在实际开发中,可以根据需要使用空值合并运算符来判断变量是否为 null 或 undefined。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/65e41c0e1886fbafa40454fb