为什么调用parseInt转换字符串后,typeof检测变量类型仍为字符串?
问题根因
parseInt()不会修改传入的原始变量,只会返回转换后的数字类型结果- 你当前代码没有将
parseInt(y)的返回值赋值给任何变量,初始声明的y本身还是字符串类型,因此typeof判断结果为string
修正写法
let y = "10"; // 把parseInt转换后的结果重新赋值给y y = parseInt(y); console.log(typeof y); // 控制台输出为 number
额外提示
如果传入的字符串无法被识别为有效数字,parseInt()会返回NaN,可以加逻辑判断避免异常:
let y = "测试123"; const convertResult = parseInt(y); if (!isNaN(convertResult)) { y = convertResult; }
内容的提问来源于stack exchange,提问作者mythic lisp
相关产品推荐
相关产品推荐

