ES11新语法

当遇到合适的感兴趣的ES11新特性新语法时会记录下来,以备不时之需
1、更优雅的空值处理方式
??=
例子:

点击查看代码
if (person.name === null || person.name === undefined) {
  person.name = '前端小学生';
}

person.name ??= '前端小学生';
这行赋值语句表示,只有 person.name 值为 null 或者 undefined 的时候才会赋默认值 前端君,否则会保留现有值。这种写法,特别是当有很多字段需要赋默认值的时候,就会显得更加优雅,避免了满篇的 if 判断。

和||=的区别在于

  • ||=:如果左侧表达式的布尔值为假(例如 false, 0, '', null, undefined 或 NaN),则执行赋值。
  • ??=:仅当左侧表达式严格等于 null 或 undefined 时才执行赋值。
posted @ 2024-12-18 14:50  前端小学生。  阅读(63)  评论(0)    收藏  举报