咨询HackerRank题解中JavaScript代码里+ +表达式的含义
理解 JavaScript 里的
+ + 写法 嘿,这个+ +的写法乍一看确实有点让人摸不着头脑,我来帮你拆解清楚!
其实这里的+ +不是一个新的运算符,而是两个独立的一元加号运算符被放在了一起:
- 第一个
+是我们熟悉的二元加法运算符,用来计算firstDecimal和后面的值的和; - 第二个
+是一元加号运算符,它的作用是把紧跟在后面的非数值类型转换成数值类型。
举个具体的例子
假设firstDecimal是数值5.2,secondDecimal是字符串"3.8",那代码:
console.log(firstDecimal + +(secondDecimal));
就等价于:
// 先用一元加号把字符串转成数值 const converted = +"3.8"; // 结果是 3.8 // 再做加法运算 console.log(5.2 + converted); // 输出 9
一元加号的作用细节
一元加号和Number()函数的功能几乎完全一致,能把各种类型转换成数值:
+"123"→123(字符串转整数)+"12.34"→12.34(字符串转小数,这也是它适合你的小数题型的原因)+true→1,+false→0(布尔值转数值)+null→0,+undefined→NaN
等价的更易读写法
如果你觉得+ +的写法不够直观,完全可以换成更清晰的写法,功能是一模一样的:
console.log(firstDecimal + Number(secondDecimal));
还要注意别把它和++自增运算符搞混——++是一个整体的运算符,用来给变量加1,而这里的+ +是两个分开的运算符,作用完全不同哦。
内容的提问来源于stack exchange,提问作者user6501184
相关产品推荐
相关产品推荐

