js操作符“+”前后的类型转换

Posted 某个润滑君

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js操作符“+”前后的类型转换相关的知识,希望对你有一定的参考价值。

先来思考一下如下代码输出什么

console.log(1+"4"+"2");  

console.log(1+ +"2"+"2");  //注意加号与加号间是一个空格

console.log("A"-"B"+"2");

console.log("A"-"B"+2);

结果分别为:

"142","122","NaN2","NaN"

在js中,操作符+的两个操作数中若是有一个是字符串,则会将另一个操作数也变为字符串,所以第一句输出142;

而空格加一个“+”则是一个一元操作符,表示正2,因此会将它自动转换为Number,第二句输出32;

字符串之间执行减操作,会先将操作数转换为Number,Number(string)会返回NaN,所以第三句会输出NaN2;

NaN与任何数字进行加减操作都会返回NaN,因此第四句返回NaN

 

以上是关于js操作符“+”前后的类型转换的主要内容,如果未能解决你的问题,请参考以下文章

JS 转换数据类型

JS中的“==”与强制类型转换

JS-类型转换

js操作符类型转换大全(前端面试题之操作符)

重操JS旧业第二弹:数据类型与类型转换

隐式转换 & 强制转换