【发布时间】:2021-05-17 20:17:01
【问题描述】:
我的字符串中有几秒钟,例如:'5'。
从中我需要获取毫秒数,它必须是Number 类型,例如:5000。
我知道您可以通过在字符串前面加上 + 来轻松地将字符串转换为数字
const result = +'5';
console.log(result, typeof(result));
不过,我发现这甚至没有必要,因为当您尝试在字符串和数字之间使用算术时,JavaScript 会自动为您进行转换。
const result = '5' * 3;
console.log(result, typeof(result));
console.log('5.3' * 3);
在文档中,我只找到了有关 Number() 构造函数的信息。
我的问题是:对字符串使用算术是否安全(加法除外)?我可以依赖上面显示的行为吗?
【问题讨论】:
-
是的,
+以外的任何东西都会自动将操作数转换为数字。话虽如此,以防万一,最好明确一点。从现在起六个月后阅读代码时会有所帮助。也许您想将a * 2 + b * 3更改为a + b * 3但您忘记了a是一个字符串。
标签: javascript string math numbers