MST
星途 面试题库

面试题:JavaScript 中的隐式转换与运算符:基础解析

请解释在 JavaScript 中,为什么 `'5' + 2` 的结果是 `'52'`,而 `'5' - 2` 的结果是 `3`。这里涉及到哪些隐式转换规则以及运算符的特性?
13.1万 热度难度
编程语言JavaScript

知识考点

AI 面试

面试题答案

一键面试
  1. '5' + 2 的结果分析

    • 在 JavaScript 中,+ 运算符有两种作用,既可以用于数值相加,也可以用于字符串拼接。
    • + 运算符的其中一个操作数是字符串时,会发生隐式类型转换,将另一个操作数转换为字符串,然后进行字符串拼接。
    • 这里 '5' 是字符串,所以 2 会被隐式转换为字符串 '2',然后进行字符串拼接,结果就是 '52'
  2. '5' - 2 的结果分析

    • - 运算符是减法运算符,只适用于数值运算。
    • - 运算符的操作数中有非数值类型时,JavaScript 会尝试将操作数隐式转换为数值类型。
    • 这里 '5' 会被隐式转换为数值 5(因为 '5' 是一个有效的数字字符串,可以被顺利转换),然后进行数值减法运算 5 - 2,结果就是 3

    综上所述,这两种情况分别体现了 + 运算符的字符串拼接特性以及 - 运算符的数值运算特性,同时涉及到 JavaScript 隐式类型转换规则,即根据运算符的需求将操作数转换为合适的类型。