在使用加性操作符时,会发生隐式转换,有一个是字符串,则另一个也要转换为字符串拼接。最让我不解的null + null = 0;
console.log("" + "");空
console.log(null + null);0
console.log(null + "");null
console.log("" + null);null
console.log("" + 19);"19"
console.log(null + 19);19
既然"" + 19 = "19",为什么null + "" 不等于"null"呢?希望不吝赐教!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
对象转数字你可以看这部分
null + "" 就是等于"null"的吧?
因为+号有两种含义,1是用于字符串的拼接,2是用于数字加法。
如果+号其中一个是字符串就执行拼接。
所以 “”+null = null;
当没有字符串操作时,会先进行 valueOf 和 toString操作,对象和数组就是这样操作的。
比如 [1,2]+[2,3] = "1,22,3"
而null 属于基本类型,会对它进行强制类型转换,结果为0,所以null + null =0;