js中布尔操作符或、与、非

798 阅读1分钟

逻辑非

非操作符由叹号 ! 来表示,可以应用于ECMAScript中任何类型的数据,也就是无论对任何类型的数据,都会返回一个布尔值

对任何对象,返回false

任意非空字符串,返回false

空字符串,返回true

任意非0数字,返回false

0,返回true

null、undefined、NaN,返回true

同时使用两个非操作符时,与使用Boolean()函数一样

逻辑与

与操作符由 && 来表示,同样可以应用于ECMAScript中的任何类型的数据,与操作是短路操作,如果第一个操作数可以决定结果,就不会再对第二个操作数进行求值

第一个操作数是对象,返回第二个操作数

第二个操作数是对象,只有第一个操作数为true的时候,才会返回该对象

如果两个操作数都是对象,返回第二个操作数

如果有一个操作数是null,返回null

如果有一个操作数是undefined,返回undefined

如果有一个操作数是NaN,返回NaN

逻辑或

或操作符由 || 来表示,同样可以应用于ECMAScript中的任何类型的数据,和与操作符一样,或操作符同样是短路操作,如果第一个操作数可以决定结果,不会再对第二个操作数进行求值

第一个操作数是对象,返回第一个对象

第一个操作数是false,返回第二个操作数

如果两个操作数都是对象,则返回第一个对象