js的显式转换和隐式转换都是数据类型的转换;js的数据类型是弱类型的,即可以给变量赋值为任意的数据类型,当进行运算时可能会遇到数字与对象的相加,这是就会触发隐式转换。
什么是隐式转换,怎么才能触发隐式转换
不同的数据类型做运算时,运算符两边的数据类型不同时,并不会报错,js引擎会做隐式转换之后进行正常的运算。
如下示例:
3+true //4
1+3+’3' // '43'
'a'+JSON //'a[object JSON]'
undefined == null //true
1 > '-1' // true
由上可知,在进行运算(+,-,*,/,%,++,--,>,< )时会触发隐式转换
显式运算
显式转换就是通过js定义的方法来转换数据类型;
主要方法有: Number(), String(), parseInt(), parseFloat(), Boolean(),toString();
示例如下:
Number('234asd') // 234
true.toString() // 'true'
String(123) // '123'
parseInt('123.2qwe') //123
Boolean('1123') // true
参考示例
https://juejin.cn/post/6844903747391504397
https://www.php.cn/js-tutorial-408097.html
https://www.jb51.net/article/130644.htm