在js逻辑运算中,0,""null,false,undefined,NaN会被判断为false,其他都为true;和数据的隐式转换有关;
带有 || 的逻辑运算中,先计算第一个运算数,如果可以转换成true,则返回左边这个表达式的值(数据在进行判断是临时转换,判断结束后转回原数据类型,所以返回原表达式的值),否则计算第二个运算数。
即使 || 运算符左右的运算数数据类型不是布尔值,js会将其临时转换为布尔类型的进行逻辑运算,除了上述5种情况,其他都将返回true;
里用它对非布尔类型的灰将其返回的特点:对非布尔类型的运算中使用||,用于选取一组备选值中的第一个定义了的并且非空的值(第一个非false的值);