ES6:运算符的扩展

指数运算符链判断运算符Null 判断运算符逻辑赋值运算符

一、指数运算符

ES2016 新增了一个指数运算符(**)。

二、链判断运算符

编程实务中,如果读取对象内部的某个属性,往往需要判断一下,属性的上层对象是否存在。比如,读取message.body.user.firstName这个属性,安全的写法是写成下面这样。

三元运算符?:也常用于判断对象是否存在。

三、Null 判断运算符

读取对象属性的时候,如果某个属性的值是null或undefined,有时候需要为它们指定默认值。常见做法是通过||运算符指定默认值。

四、逻辑赋值运算符

ES2021 引入了三个新的逻辑赋值运算符(logical assignment operators),将逻辑运算符与赋值运算符进行结合。

// 或赋值运算符x ||= y// 等同于x || (x = y)

// 与赋值运算符x &&= y// 等同于x && (x = y)

// Null 赋值运算符x ??= y// 等同于x ?? (x = y)

这三个运算符||=、&&=、??=相当于先进行逻辑运算,然后根据运算结果,再视情况进行赋值运算。

ES6:运算符的扩展》来自互联网,仅为收藏学习,如侵权请联系删除。本文URL:https://www.hashtobe.com/800.html