javascript - 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);
应该可以完美运行,因为我删除了''
. 用''
常量认为它是一个提供的字符串。没有''
,只有保存在常量中的数字。在您的示例中也+
不起作用,因为正如我所说,常量认为数字是字符串,因为''
. 所以它只是把这两个“字符串”放在一起,而不是总结它们。
推荐阅读
- angular - 如何在 Jasmine/Angular 中模拟服务的事件发射器
- css - 'default'关键字对css变量意味着什么?
- matlab - 训练 ANN 时对样本进行加权
- python - Python列表将特定元素限制为N次
- python - 有没有办法将现有输入链接到 django 表单?
- javascript - 在 respondWith 中使用异步函数
- visual-studio-code - VSCode- 从 IntelliSense 解析中排除特定文件夹/文件
- java - 使用 JUnit5 和 Spring-boot-starter-parent 时未执行任何测试
- c# - 如何将属性绑定到 BindableLayout.ItemsSource 中的另一个对象
- html - 在 Blazor 应用程序中捕获 Microsoft Form 的提交事件