其他值转化为字符串的对应关系

其他值转化为字符串的对应关系表:

结果
undefined 'undefined'
null 'null'
布尔值 false->'false', true->'true'
数字 (如:2.335 ->'2.335'
字符串 无需转换,输入即输出
对象 step1: 先调用ToPrimitive(value, String)方法,将值转化为原始值。step2:再根据上面对应关系,将原始值转换为字符串。

示例

undefined

> String(undefined)
'undefined'

null

> String(null)
'null'

布尔值

> String(false)
'false'
> String(true)
'true'

数字

> String(123)
'123'

字符串

> String('123')
'123'

对象

> String({})    // ({}).toString()->'[object Object]'->'[object Object]'
'[object Object]'
> String([])    // [].toString()->''->''
''

转换为字符串的方法

以下是常见的将值转换为字符串的方法:

  1. String(value)

  2. ''+value

  3. value.toString() // undefiendnull不能调用

String(value)''+value 这两种方法很常用。
String(value)最直观。
value.toString()valueundefiendnull时不能调用,所以不是一种通用方法,使用时需谨慎。

示例
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]'

Tammy
111 声望14 粉丝

不易匠心方得始终