为什么(true &&'string')等于'string'而不在JS中为true?

时间:2019-09-20 19:26:12

标签: javascript

如果是("") results false,,为什么不使用(true && "") false而不是""empty string)

还有if("string") results true,那么为什么不是(true && "string") true而不是'string'

对象也一样,

例如(true && {key: 'val'})是不正确的,它是{key: 'val'}

1 个答案:

答案 0 :(得分:-2)

因为它与(true)返回“字符串” if (condition) return result一样。

无论结果如何 字符串对象布尔值 ...)< / strong>,如果条件为 true ,则将返回它。

您还可以将其用作if (condition) return res的简写

condition && res

Logical AND (&&) expr1 && expr2 If expr1 can be converted to true, returns expr2; else, returns expr1.

(() => {

  console.log(true && "string")

  if (true) {
    return "string"
  }

})()