MST

星途 面试题库

面试题:JavaScript 求值表达式特殊情况之中等难度

在JavaScript中,分析以下代码的输出结果并解释原因:`console.log(1 + '2' + 3)`。另外,如果将表达式改为`console.log(1 + 3 + '2')`,输出又会是什么,为什么?
35.2万 热度难度
编程语言JavaScript

知识考点

AI 面试

面试题答案

一键面试
  1. 对于console.log(1 + '2' + 3)
    • 输出结果"123"
    • 原因:在JavaScript中,当加法运算符+的一侧为字符串时,会进行字符串拼接操作。这里首先1'2'相加,由于'2'是字符串,所以1会被转换为字符串'1',然后进行字符串拼接得到'12'。接着'12'再与3相加,同样3被转换为字符串'3',最终得到'123'
  2. 对于console.log(1 + 3 + '2')
    • 输出结果"42"
    • 原因:JavaScript遵循运算符优先级,先执行数字之间的加法。所以先计算1 + 3,结果为4。然后4再与'2'相加,因为'2'是字符串,4会被转换为字符串'4',最后进行字符串拼接得到'42'