基础算法
数据库
Javascript
HTML 编程
SVG
附录
Javascript 中的逻辑运算符和其他语言中的不一样,嗯,真的不一样。
逻辑非是反操作,把真变假,把假变真。
先介绍逻辑非是因为 Javascript 中的false
和其他语言真不一样。
看到了吧,0
、空字符串、null
、undefined
、NaN
、false
在 Javascript 中都表示“非”,但是空数组[ ]
和空对象{ }
不是,记住这些“非”,下面还会用到。
所以,可以用!!
将一个非布尔对象直接转成布尔对象。
或运算只要运算符两边一个为真,则返回真。
逻辑或运算还有一个运算逻辑是当左面的值为“非”时,则返回右面的值,否则返回左面的值,不管右面是不是非。
这个运算符让我们可以合并“非”值,在编程时会经常经常用到,如return a || 1
,正经写法是下面这样:
或运算只要运算符两边都为真时,才返回真。
逻辑与运算还有一个逻辑是当左面的值不为非时返回右面的值,否则返回左面的值,不管右面是不是非。
这种运算用得比较少,但是用得好,会让代码更优雅,当然也更难读。虽然一般人都这么写。
谁也不会写成a && a + b
,好像很难懂的样子。
ES 11 (2020) 新增运算符,比逻辑或||
功能少一些,当左面为null
或undefined
时,返回右面的值。
就这么多。
(本文完)