数据类型的转换(Data type conversion)

JavaScript是一种动态类型语言(dynamically typed language)。

就在刚刚之前对于 StringNumber 因为 运算符 相互转换这件事还是懵的状态。
在读 MDN 文档时突然发现,- 号是直接用于数值计算的:

1
2
'12' + 1; // '121' String
'12' - 1; // 11 Number

这是因为 String 之间的累加只有 + 号吧,没见过 - 号的啊。

1
2
'we are' + ' supermen.'; // we are supermen.
'we are' - ' supermen.'; // NaN

所以,我假装悟透了。浏览器是不是先识别的 运算符,根据 运算符 的类型再决定走哪项运算程序。因为 + 号很多数据类型(string,number…)都在用,所以需要判断加号左右两边的数据类型,再决定运算程序。而 - 貌似只用于数值运算,所以直接将 - 号两侧的直接Number(data)。除了 + 需要去定两侧数据类型外,其他 运算符 号是不是不需要呢?这个需要验证一下。

这个还是需要计算机基础,理解起来会比较快


数据类型的转换(Data type conversion)

parseInt()parseFloat()
parseInt 舍弃小数点后的浮点数,调用时最好加上进制参数。
parseFloat 函数解析一个字符串参数并返回一个浮点数。
将字符串转换为数字的另一种方法是使用 单目加法运算符

1
(+"1.1") + (+"1.1"); // 2.2