js中的??和?.
html5吧
全部回复
仅看楼主
level 9
老张大表哥
楼主
js中的??和?.
2021年12月16日 07点12分
1
level 9
老张大表哥
楼主
空值合并操作符(??):是一个逻辑操作符
先说具体的用法:只有当左侧为null和undefined时,才会返回右侧的数;反之返回左侧的值
2021年12月16日 07点12分
2
level 9
老张大表哥
楼主
const str = null ?? 'string';
console.log(str);
//打印输出: "default string" (双问号右侧的
2021年12月16日 07点12分
3
level 9
老张大表哥
楼主
const str = 0 ?? 666;
console.log(str );
//打印输出: "0" (双问号左侧的值)
2021年12月16日 07点12分
4
level 9
老张大表哥
楼主
const emptyStr = ""; // 空字符串,是一个假值false
const Test = emptyStr ?? "默认值";
console.log(Test);
//打印输出: "" (双问号左侧的值)
// 这里注意:(emptyStr的值虽然是空字符串是假值,
// 但并不是 null 或者 undefined, 所以这里
2021年12月16日 07点12分
5
level 9
老张大表哥
楼主
let nestedProp =
网页链接
&& obj.first
2021年12月16日 07点12分
6
level 9
老张大表哥
楼主
为了避免报错,在访问obj.first.second之前,要保证
网页链接
的值既不是 null,也不是 undefined。如果只是直接访问 obj.first.second,而不对
网页链接
进行校验,则有可能抛出错误;
有了可选链操作符(?.),在访问
网页链接
之前,不再需要明确地校验
网页链接
的状态,再并用短路计算获取最终结果
2021年12月16日 07点12分
7
level 9
老张大表哥
楼主
通过使用 ?. 操作符取代 . 操作符,JavaScript 会在尝试访问之前,先隐式地检查并确定既不是 null 也不是 undefined。如是 null 或者 undefined,表达式将会短路计算直接返回 undefined。
2021年12月16日 07点12分
8
1