在JavaScript中投射到字符串

问题:

我找到了三种在JavaScript中将变量转换为String的方法。
我在jQuery源代码中搜索了这三个选项,他们都在使用中
我想知道他们之间是否有区别:

value.toString()
String(value)
value + ""

 
他们都产生相同的产出,但是其中一个比另外一个好?
我想说+ ""有一个好处,它可以节省一些字符,但这不是什么大的好处,还有其他什么?

回答:

valuenull时,它们的行为会有所不同

  •  null.toString()引发错误 – Cannot call method ‘toString’ of null
  •  String(null)返回 – “null”
  •  null + ""也返回 – “null”

如果valueundefined,则会出现非常类似的行为(请参阅jbabey’s answer)。
除此之外,还有一个可以忽略不计的性能差异,除非你在巨大的循环中使用它们,否则不值得担心。

 
 
Code问答: http://codewenda.com/topics/javascript/
Stackoverflow: Casting to string in JavaScript

*转载请注明本文链接以及stackoverflow的英文链接

发表评论

电子邮件地址不会被公开。 必填项已用*标注

+ 82 = 91