To Boolean: Boolean(value)

Undefined--------------false
Null----------------------false
Number:0,-0,NaN----false
空string-----------------false

Number:非 0,NaN--true
String:非空-------true

To number: Number(value)

Undefined-------------NaN
Null----------------------0

Boolean false---------0
Boolean true----------1

string""----------0
String(除了纯123这种)---NaN

To string: value.toString()或String(value)

Undefined,null-------第一种方式转换报错,第二种正常

用第一种方式转换前最好初始化一个变量,v.toString()
Value.toString(radix)优势在于可返回指定进制形式的字符串,如下
var a=123;a.toString(2)
"1111011"


True,false-------------"true""false"

NaN--------------------"NaN"
0,-0--------------------"0"
Number.POSITIVE_INFINITY------------"Infinity"
Number.NEGATIVE_INFINITY----------"-Infinity"

To Object:

Boolean--------------Boolean  {[[PrimiriveValue]]:..}
String-----------------String {0:..,1:..,2:…,length:3,[[PrimiriveValue]]:..}
Number--------------Number  {[[PrimiriveValue]]:..}

Undefined,null------{}空Object

Number进制之间的转换:

二进制、八进制、十六进制…转为十进制:parseInt(value,radix)  parseInt('111',2)

十进制转为其他进制:value.toString(radix)

parseInt('ff',16).toString(2)
"11111111"

_ipo
179 声望15 粉丝

bug