一元运算符和二元运算符

下面代码输出什么?

console.log(("b" + "a" + +"b" + "a").toLowerCase());

解析

  1. "b" + "a" + +"b" + "a":这是两个字符串的连接,结果是一个新的字符串 "ba"。
  2. +"b":这是一个一元加号运算符,它尝试将其后的 "b" 转换为数字。但是,由于 "b" 不是一个有效的数字字面量,它会被转换为 NaN(不是数字)。
  3. 接下来,我们有 "ba" + NaN + "a"。在 JavaScript 中,字符串和 NaN 的加法运算会将 NaN 转换为字符串 "NaN",然后进行字符串连接。
  4. 所以,"ba" + "NaN" + "a" 的结果是 "baNaNa"。 总结:"b" + "a" + +"b" + "a" 的结果是 "baNaNa"。

答案

banana;

疑问

"b" + "a" + +"b" + "a" 为什么先执行 +b ?

没有()包住优先级为什么变高了?

ON THIS PAGE