值 | 结果 |
---|---|
undefined |
'undefined ' |
null |
'null' |
布尔值 | false->'false' , true->'true' |
数字 | (如:2.335 ->'2.335' ) |
字符串 | 无需转换,输入即输出 |
对象 | step1: 先调用ToPrimitive(value, String) 方法,将值转化为原始值。step2:再根据上面对应关系,将原始值转换为字符串。 |
undefinedcode
> String(undefined) 'undefined'
null对象
> String(null) 'null'
布尔值字符串
> String(false) 'false' > String(true) 'true'
数字it
> String(123) '123'
字符串table
> String('123') '123'
对象object
> String({}) // ({}).toString()->'[object Object]'->'[object Object]' '[object Object]' > String([]) // [].toString()->''->'' ''
如下是常见的将值转换为字符串的方法:方法
String(value)
im
''+value
tab
value.toString()
// undefiend
和null
不能调用co
String(value)
和 ''+value
这两种方法很经常使用。String(value)
最直观。value.toString()
在value
为undefiend
和null
时不能调用,因此不是一种通用方法,使用时需谨慎。
示例String(value)
看上面的例子。
''+value
:
> ''+undefined 'undefined' > ''+null 'null' > ''+false 'false' > ''+123 '123' > ''+'ew' 'ew' > ''+{} '[object Object]' > ''+[] ''
value.toString()
:
> false.toString() 'false' > 123.toString() ... 123.toString() > (123).toString() '123' > '123'.toString() '123' > [].toString() '' > ({}).toString() '[object Object]'