在 ECMAScript 2019(ES10)中,引入了两个新的运算符:optional chaining 和 nullish coalescing。这些新的运算符可以帮助开发人员更方便地处理 JavaScript 中的 null 或 undefined 值,提高代码的可读性和可维护性。
Optional Chaining 运算符
Optional chaining 运算符(?.)允许开发人员在不确定对象是否存在的情况下,安全地访问其属性或方法。在使用 optional chaining 运算符时,如果访问的属性或方法不存在,则返回 undefined,而不是抛出 TypeError 异常。
示例代码
----- ---- - - ----- -------- -------- - ----- ---------- ------- ----------- -------- -------- - -- -- ---- -------- -------- ---------------- -- ----- -- ------------ -- ------------------ - ------------------------------- - -- -- -------- -------- --------- ---------------------------------
使用 Optional Chaining 运算符的注意点
- Optional chaining 运算符不能在函数调用或数组索引中使用,只能用于对象属性或方法的访问。
- Optional chaining 运算符不能用于赋值语句的左侧。
Nullish Coalescing 运算符
Nullish coalescing 运算符(??)用于判断变量是否为 null 或 undefined,并在变量为 null 或 undefined 时返回默认值。与 || 运算符不同的是,?? 运算符只有在变量为 null 或 undefined 时返回默认值,否则返回变量的值。
示例代码
----- ---- - ----- ----- ----------- - ----- ----- -- -- -- ------- -- - - -- ------------ ----- ------- - ---- -- ------------ --------------------- -- ----- ---- -- -- -- -------- ---- - ---- - --------- --------- ----- ------- - ---- -- ------------ --------------------- -- ----- ---- ----- --- - -- ----- ---------- - --- -- -- -- ------- - -- ------------ ----- ------- - --- -- ----------- --------------------- -- -- -- -- -- --------------- --- -- ---- - --------- ----- ------- - --- -- ----------- --------------------- -- -
使用 Nullish Coalescing 运算符的注意点
- Nullish coalescing 运算符只能用于判断变量是否为 null 或 undefined,不能用于判断变量是否为 false、0、空字符串等。
- Nullish coalescing 运算符的优先级较低,需要注意使用括号来控制优先级。
总结
Optional chaining 运算符和 nullish coalescing 运算符是 ECMAScript 2019(ES10)中引入的两个新的运算符,它们可以帮助开发人员更方便地处理 JavaScript 中的 null 或 undefined 值。在实际开发中,我们可以根据具体场景选择使用这些运算符,提高代码的可读性和可维护性。
来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/65ccc6beadd4f0e0ff632725