MST

星途 面试题库

面试题:JavaScript类型转换规则 - 基本转换考察

请解释在JavaScript中,以下表达式的结果及涉及的类型转换规则:`'5' + 2`、`'5' - 2`、`Boolean('')`、`Number('5px')`。
14.2万 热度难度
编程语言JavaScript

知识考点

AI 面试

面试题答案

一键面试
  1. '5' + 2
    • 结果'52'
    • 类型转换规则:在JavaScript中,当+运算符两边有一个操作数是字符串时,会将另一个操作数转换为字符串,然后进行字符串拼接。这里数字2被转换为字符串'2',再与'5'拼接得到'52'
  2. '5' - 2
    • 结果3
    • 类型转换规则:当-运算符出现时,JavaScript会尝试将两边的操作数都转换为数字类型。字符串'5'被转换为数字5,然后进行减法运算5 - 2,结果为3。如果字符串不能被转换为有效的数字(例如'abc'),则会被转换为NaN,整个运算结果也为NaN
  3. Boolean('')
    • 结果false
    • 类型转换规则:在JavaScript中,空字符串('')、0nullundefinedNaN在转换为布尔值时都为false,其他值(包括非空字符串、非零数字等)转换为布尔值时为true。所以空字符串''转换为布尔值是false
  4. Number('5px')
    • 结果NaN
    • 类型转换规则Number()函数尝试将字符串转换为数字。如果字符串以数字开头且不包含非数字字符(除了可能的正负号、小数点),则可以成功转换。但这里的字符串'5px'包含非数字字符'px',所以无法转换为有效的数字,结果为NaN(Not a Number)。