8. 逻辑与运算符、空值合并运算符、逻辑空运算符(可用赋予默认值)
(空值合并运算符)官方文档: https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Operators/Nullish_coalescing
(逻辑空赋值-其实就是空值合并运算符的变体)官方文档: https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Operators/Nullish_coalescing_assignment
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
</body>
<script>
console.log("或运算符")
if(!'') {
console.log("空字符串为false")
}
if(!0) {
console.log("数字0为false")
}
if(!null) {
console.log("null为false")
}
if(!undefined) {
console.log("undefined为false")
}
//可见 0 以及 空字符串 会默认为false
console.log(" ")
console.log("'' || '未知' =》 %s" , '' || '未知')
console.log("0 || '未知' =》 %s" , 0 || '未知')
console.log("null || '未知' =》 %s" , null || '未知')
console.log("undefined || '未知' =》 %s" , undefined || '未知')
//可见 0 以及 空字符串 不会默认为false
console.log(" ")
console.log("空值合并运算符")
console.log("'' ?? '未知' =》 %s" , '' ?? '未知')
console.log("0 ?? '未知' =》 %s" , 0 ?? '未知')
console.log("null ?? '未知' =》 %s" , null ?? '未知')
console.log("undefined ?? '未知' =》 %s" , undefined ?? '未知')
console.log(" ")
console.log("逻辑空运算符")
let x
console.log("x ??= '未知' =》 x的值为:%s==%s" , x ??= '未知', x)
let b = null;
console.log("b ??= '未知' =》 b的值为:%s==%s" , b ??= '未知', b)
let c = 0;
console.log("c ??= '未知' =》 c的值为:%s==%s" , c ??= '未知', c)
</script>
</html>