JavaScript - 类型转换

87 阅读1分钟
  • String
    • undefined ==> "undefined"
    • " " ==> " "
    • 数组 ==> 所有元素都平铺
    • 对象 ==> "[objectObject]"
    • 函数 ==> 函数字符串
  • Number
    • undefined ==> NaN
  • Boolean
    • 只有六种为false:null、undefined、0、false、NaN、''
    • 剩下都为true
当前值String()Number()Boolean()
undefined"undefined"NaNfalse
null"null"0false
0"0"0false
-0"0"0false
true"true"1true
false"false"0false
NaN"NaN"NaNfalse
""(空字符串)""0false
" " 非空" "0true
"1.2"(非空,数值)"1.2"1.2true
"one"(非空,非数值)"one"NaNtrue
1(有限,非零)"1"1true
{}(任何对象)"[objectObject]"NaNtrue
[](空数组)""0true
[9](一个数值元素)"9"9true
[9,29](一个数值元素)"9,29"NaNtrue
[["a",["b",["c"]]]]"a,b,c" 去掉所有[]壳NaNtrue
Function(){}(任何函数)"function(){}" 字符串NaNtrue
Infinity"Infinity"Infinitytrue
-Infinity"-Infinity"-Infinitytrue