MST

星途 面试题库

面试题:JavaScript表达式的隐式类型转换问题

在JavaScript中,以下表达式的结果是什么,并详细说明每一步的隐式类型转换过程:'5' + 2 - true + null + undefined + '3'。
26.2万 热度难度
编程语言JavaScript

知识考点

AI 面试

面试题答案

一键面试
  1. 首先是 '5' + 2
    • 在JavaScript中,当 + 运算符一侧为字符串时,会进行字符串拼接。所以 '5' + 2 会将 2 转换为字符串 '2',然后拼接为 '52'
  2. 接着是 '52' - true
    • 这里 - 运算符要求两侧为数字类型。所以 '52' 会转换为数字 52true 会转换为数字 1。然后进行减法运算 52 - 1,结果为 51
  3. 然后是 51 + null
    • + 运算符一侧为数字,另一侧为 null 时,null 会转换为数字 0。所以 51 + 0 结果为 51
  4. 之后是 51 + undefined
    • + 运算符一侧为数字,另一侧为 undefined 时,undefined 会转换为 NaN。所以 51 + NaN 结果为 NaN
  5. 最后是 NaN + '3'
    • + 运算符一侧为 NaN,另一侧为字符串时,NaN 会转换为字符串 'NaN',然后进行字符串拼接,结果为 'NaN3'

所以 '5' + 2 - true + null + undefined + '3' 的结果是 'NaN3'