var val = "smtg"
console.log("Value is " + (val === "smtg") ? "Something" : "Nothing")
这里最终输出的是:Something
首先,小括号的优先级是最高的,所以会先做判断,val与“smtg”相等返回true
这时候就有疑惑了,可能有以下两种情况
// 语句1
console.log("Value is " + (true ? "Something" : "Nothing"))
// 语句2
console.log("Value is true" ? "Something" : "Nothing")
根据运算符优先级可以知道,+号的优先级是大于条件运算符?的优先级的,所以执行的是语句2
所以最终的结果就为:Something