ES2020引入的运算符(?.)和(??)如何使代码更简洁优雅?

更新于
2026-09-16 11:35:22
41阅读来源:SEO资讯
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计1863个文字,预计阅读时间需要8分钟。

ES2020引入的运算符(?.)和(??)如何使代码更简洁优雅?

“链判断运算符(?.)非常实用、常用,配置Null判断运算符,使用效果更佳,完美!+ 代码示例:+ 我们通常获取一个多层对象的属性值时,需要进行多次判断。如果不判断,则可能遇到一个为空的情况。

链判断运算符(?.)

非常好用、常用,搭配Null 判断运算符使用,效果更佳,完美!

来,上代码:

我们通常获取一个对象多层的属性值时,需要进行多次的判断。如不判断,一个为空则报错,导致后面无法继续下去。

// error const firstName = message.body.user.firstName; // ok const firstName = (message && message.body && message.body.user && message.body.user.firstName) || 'default';

也可以用三元运算符?:来判断单个值,下面例子中,必须先判断fooInput是否存在,才能读取fooInput.value。

阅读全文

本文共计1863个文字,预计阅读时间需要8分钟。

ES2020引入的运算符(?.)和(??)如何使代码更简洁优雅?

“链判断运算符(?.)非常实用、常用,配置Null判断运算符,使用效果更佳,完美!+ 代码示例:+ 我们通常获取一个多层对象的属性值时,需要进行多次判断。如果不判断,则可能遇到一个为空的情况。

链判断运算符(?.)

非常好用、常用,搭配Null 判断运算符使用,效果更佳,完美!

来,上代码:

我们通常获取一个对象多层的属性值时,需要进行多次的判断。如不判断,一个为空则报错,导致后面无法继续下去。

// error const firstName = message.body.user.firstName; // ok const firstName = (message && message.body && message.body.user && message.body.user.firstName) || 'default';

也可以用三元运算符?:来判断单个值,下面例子中,必须先判断fooInput是否存在,才能读取fooInput.value。

阅读全文