全文字数: 408
阅读时间: 2 分钟
绝大多数开发人员对一元加和减操作符都不会陌生,而且这两个ECMAScript操作符的作用与数学书上讲的完全一样。一元加操作符以一个加号(+)表示,放在数值前面,对数值不会产生任何影响,如下面的例子所示:
var num = 25;
num = +num; // 仍然是25
不过,在对非数值应用一元加操作符时,该操作符会像 Number() 转型函数一样对这个值执行转换。换句话说,布尔值 false 和 true 将被转换为0和1,字符串值会被按照一组特殊的规则进行解析,而对象是先调用它们的 valueOf() 和(或) toString() 方法,再转换得到的值。
var s1 = “01”;
var s2 = “1.1”;
var s3 = “z”;
var b = false;
var f = 1.1;
var o = {
valueOf: function() {
return -1;
}
};
s1 = +s1; // 值变成数值1
s2 = +s2; // 值变成数值1.1
s3 = +s3; // 值变成NaN
b = +b; // 值变成数值0
f = +f; // 值未变,仍然是1.1
o = +o; // 值变成数值-1
总结
通常我们会使用一元加操作符进行数据类型转换,把字符串的值转换为数值类型的,当然你也可以使用Number进行转换,效果都是一样的,但是在写法上使用操作符会更简单。
let num = '10'
num = +num // 10
let num = '10'
num = Number(num) // 10
《前端精髓》
118月
058月
看前端技术文章,就在前端精髓。