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 以及 空字符串 会默认为falseconsole.log(" ")console.log("'' || '未知' =》 %s" , '' || '未知')console.log("0 || '未知' =》 %s" , 0 || '未知')console.log("null || '未知' =》 %s" , null || '未知')console.log("undefined || '未知' =》 %s" , undefined || '未知')//可见 0 以及 空字符串 不会默认为falseconsole.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 xconsole.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>