js ?. ?? ?:
时间: 2023-08-19 18:06:13 浏览: 127
js相关问题.
js中的 ?. ?? 和 ?: 是三种不同的运算符。
1. ?. 运算符是可选链运算符,用于处理可能为空或未定义的变量或属性。它可以避免在访问链中的任何一部分出现null或undefined时抛出错误。例如:
```javascript
const obj = {
prop1: {
prop2: 'value'
}
};
const value = obj.prop1?.prop2; // 正确访问属性prop2,并将'value'赋给value
const nonExistentValue = obj.prop1?.prop3; // prop3不存在,返回undefined
```
2. ?? 运算符是空值合并运算符,用于提供默认值。如果左侧的操作数为null或undefined,则返回右侧的操作数。否则,返回左侧的操作数。例如:
```javascript
const value1 = null ?? 'default'; // value1将被赋值为'default'
const value2 = 'value' ?? 'default'; // value2将被赋值为'value'
```
3. ?: 运算符是条件(三元)运算符,用于根据条件选择不同的值。它接受三个操作数:条件,如果条件为真,则返回第一个操作数;如果条件为假,则返回第二个操作数。例如:
```javascript
const condition = true;
const value = condition ? 'true value' : 'false value'; // value将被赋值为'true value'
```
这些运算符在JavaScript中非常有用,可以简化代码并处理各种情况。
阅读全文