运算符
常用运算符可以分四类:算术(+ - * / % **)、比较(=== !== > <)、逻辑(&& || !)、赋值(= += -= 等)。
两个逻辑运算符有「短路」特性:&& 遇到假值就提前返回,|| 遇到真值就提前返回。ES2020 新增了两个非常实用的运算符:??(空值合并)只在值为 null/undefined 时才使用备选值,比 || 更精确(0 和 '' 不会被误伤);?.(可选链)可以安全地访问深层属性,中间某一层不存在就返回 undefined 而不报错。
三元表达式 条件 ? 值1 : 值2 是 if/else 的简写,适合在模板和 JSX 里内联使用,但嵌套超过两层就应该换回 if 语句,保证可读性。
本节要点% 取余常用于判断奇偶;&&/|| 有短路特性;?? 只兜底 null 和 undefined;?. 防止深层属性报错;三元适合简单二选一。
JavaScript
let a = 10, b = 3; console.log(a + b, a - b, a * b); // 13 7 30 console.log(a / b); // 3.3333...(不自动取整) console.log(a % b); // 1 取余:判断奇偶常用 console.log(a ** b); // 1000 幂运算 // 逻辑运算符的短路特性 console.log(true && '返回右边'); // '返回右边' console.log(0 || '备选值'); // '备选值'(0 是假值) // ?? 与 || 的区别 console.log(0 || '默认'); // '默认' console.log(0 ?? '默认'); // 0(0 不算"空") console.log(null ?? '默认'); // '默认' // ?. 可选链:安全访问深层属性 const user = { address: { city: '北京' } }; console.log(user?.address?.city); // 北京 console.log(user?.phone?.number); // undefined,不报错 // 三元表达式 console.log(a > b ? 'a大' : 'b大');
📚 推荐阅读
来自万象云档的免费在线书籍,点击封面直接阅读




