ECMAScript 中的逻辑与 && 或 || 非!

ECMAScript中的逻辑与&&、或||、非!

源自于W3School

心得:

ECMAScript(JS)中的逻辑运算跟其他语言(比如C)还是有差异的,所以特别记录一下。

ECMAScript(JS)中的逻辑与适用于在两者都为真时(比如两者都是字符串)选择两者中的后者,逻辑与适用于在两者都为真时(比如两者都是字符串)选择两者中的前者。

逻辑非(NOT)运算符!

在 ECMAScript 中,逻辑 NOT 运算符用感叹号(!)表示。

与逻辑 OR 和逻辑 AND 运算符不同的是,逻辑 NOT 运算符返回的一定是 Boolean 值

如果运算数是对象,返回 false
如果运算数是数字 0,返回 true
如果运算数是 0 以外的任何数字,返回 false
如果运算数是 null,返回 true
如果运算数是 NaN,返回 true
如果运算数是 undefined,发生错误

逻辑与(AND)运算符&&

在 ECMAScript 中,逻辑 AND 运算符用双和号(&&)表示。

逻辑 AND 运算的运算数可以是任何类型的,不止是 Boolean 值。

如果一个运算数是对象,另一个是 Boolean 值,返回该对象。
如果两个运算数都是对象,返回第二个对象。
如果某个运算数是 null,返回 null。
如果某个运算数是 NaN,返回 NaN。
如果某个运算数是 undefined,发生错误。

逻辑或(OR)运算符||

ECMAScript 中的逻辑 OR 运算符由双竖线(||)表示。

与逻辑 AND 运算符相似,如果某个运算数不是 Boolean 值,逻辑 OR 运算并不一定返回 Boolean 值。

如果一个运算数是对象,并且该对象左边的运算数值均为 false,则返回该对象。
如果两个运算数都是对象,返回第一个对象。
如果最后一个运算数是 null,并且其他运算数值均为 false,则返回 null。
如果最后一个运算数是 NaN,并且其他运算数值均为 false,则返回 NaN。
如果某个运算数是 undefined,发生错误。

你可能感兴趣的:(ECMAScript 中的逻辑与 && 或 || 非!)