脚本宝典收集整理的这篇文章主要介绍了js中隐式数据类型转换的方向(+、==),脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
本文主要是关于各种数据类型之间做“+”和”==“运算时数据类型的转化方向,对于类型的具体转换方法及转换值不做过多赘述。
// 转换方法
string -> number: (1) Number(str), (2) +str
number -> string: (1) String(num), (2) num+''
otherTyPE -> boolean: (1) Boolean(other), (2) !!other
// 特殊的转换值
Number(undefined); // NaN
Number([23]); // 23
({}).toString(); // '[object Object]'
1.算数运算符(+)
[23] + {}; // ([23] -> string) + ({} -> string) = '23[object Object]'
[1] + 23; // ([] -> string) + (23 -> string) = '123'
null + true; // (null -> number) + (true -> number) = 1
undefined + null; // (undefined -> number) + (null -> number) = NaN
[] + undefined; // ([] -> string) + (undefined -> string) = 'undefined'
2.比较运算符(==)
[23] == {}; // 比较两者的内存地址是否相同, false
[23] == 23; // ([23] -> string -> number) === 23, true
[] == true; // ([] -> string -> number) === (true -> number), false
true == '1'; // (true -> number) === ('1' -> number), true
({}) == 0; // ({} -> string -> number) === 0, false
以上是脚本宝典为你收集整理的js中隐式数据类型转换的方向(+、==)全部内容,希望文章能够帮你解决js中隐式数据类型转换的方向(+、==)所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。