JavaScript 中的 '*' 不需要 parseInt 吗?



我有一个数组,在某个时刻,我通过它映射数组并计算总和和百分比。因此,在实现逻辑时,我看到,当我直接使用"*"时,它是有效的,但当我使用"+"时,只添加了两个字符串

For example:
const a = '100';
const b = '10';
const c = a * b;
const d = a + b;
console.log(d)

当我检查d时,它给出了10010,当c时,它给了1000!这是怎么回事?

但当我使用parseInt(a) + parseInt(b)时,它与110作为输出完美配合

在JavaScript中,没有像int、float等原始数据类型。只有可以用所需的一切初始化的变量。例如

const a = 100;
const b = 10;
const c = a * b;
const d = a + b;
console.log(d);

应该可以完美工作,因为我删除了''。对于'',常量认为它是提供的字符串。如果没有'',则只有保存在常量中的数字。此外,+在您的示例中不起作用,因为正如我所说,常数认为数字是由于''而产生的字符串。所以它只是把这两个";字符串";把它们放在一起,而不是总结。

最新更新