Hatena::Groupjavascript

JavaScriptで遊ぶよ

 | 

2010-05-04

Stringとnew String

13:12

javascript:alert(new String('foo') === 'foo')
// => false
javascript:alert(String('foo') === 'foo')
// => true

ブログとかではこれらは同じものと言われることが多いけど、実は別物だということを ANOTHER JAVASCRIPT QUIZ の24問目と xulapp さんのつぶやきで知った。

ECMAScript 5 では

15.5.1.1 String ( [ value ] )

Returns a String value (not a String object) computed by ToString(value). If value is not supplied, the empty String "" is returned.

と書いてあるね。


ちなみに、こっちはけっこう知られてるけど。

javascript:alert(typeof new Date())
// => object
javascript:alert(typeof Date())
// => string
トラックバック - http://javascript.g.hatena.ne.jp/edvakf/20100504
 |