JavaScript类型_隐式类型转换

摘要:四则运算加法运算符+是双目运算符,只要其中一个是String类型,表达式的值便是一个String。对于其他的四则运算,只有其中一个是Number类型,表达式的值便是一个Number。

四则运算

加法运算符+是双目运算符,只要其中一个是String类型,表达式的值便是一个String。

var a = 2 + '3'// '23'

对于其他的四则运算,只有其中一个是Number类型,表达式的值便是一个Number。

var a = 3 - '2'// 1

对于非法字符的情况通常会返回NaN:

'1' * 'a'     // => NaN,这是因为parseInt(a)值为NaN,1 * NaN 还是 NaN

判断语句

判断语句中的判断条件需要是Boolean类型,所以条件表达式会被隐式转换为Boolean。 其转换规则同Boolean的构造函数。比如:

var obj = {};
if(obj){
  dosomething...
}

JavaScript 原始类型转换表

原始值转化为数值类型转化为字符串类型转化为 Boolean 类型
false0"false"false
true1"true"true
00"0"false
11"1"true
"0"0"0"true
"1"1"1"true
NaNNaN"NaN"false
InfinityInfinity"Infinity"true
-Infinity-Infinity"-Infinity"true
""0""false
"20"20"20"true
"twenty"NaN"twenty"true
[ ]0""true
[20]20"20"true
[10,20]NaN"10,20"true
["twenty"]NaN"twenty"true
["ten","twenty"]NaN"ten,twenty"true
function(){}NaN"function(){}"true
{ }NaN"[object Object]"true
null0"null"false
undefinedNaN"undefined"false



本文内容仅供个人学习、研究或参考使用,不构成任何形式的决策建议、专业指导或法律依据。未经授权,禁止任何单位或个人以商业售卖、虚假宣传、侵权传播等非学习研究目的使用本文内容。如需分享或转载,请保留原文来源信息,不得篡改、删减内容或侵犯相关权益。感谢您的理解与支持!

链接: https://shenqiku.cn/article/FLY_9977