true == 'true'
と true == '1'
が真、それ以外は偽('True' とか '2' も偽)。
false == 'false'
と false == '0'
が真、それ以外は偽。
new Boolean ('string')
の挙動も調べてマニュアルに書き加えておいた方がいいかも知れない。
true == 'true'
と true == '1'
が真、それ以外は偽('True' とか '2' も偽)。
false == 'false'
と false == '0'
が真、それ以外は偽。
new Boolean ('string')
の挙動も調べてマニュアルに書き加えておいた方がいいかも知れない。
var a = 1;
alert (a == (a = 2));
a = 1;
alert ((a = 2) == a);
IE8、Firefox 12、Google Chrome 19 では false, true となりますが、DMonkey では逆で true, false になります。
そもそも ECMAScript においてこの式の結果が保証されているのか、未定義や不定や実装依存だったりするのか詳しい人教えてぷりーず。
仮に ECMAScript で正当な式であっても、DMonkey では結果が違うし規格書もないから調べることすら出来ないしで、DMonkey では怪しげな表現は使わない方がいいですね。
ちなみに JavaScript で数値の文字列を3桁区切りに変換するコードで
while (a != (a = ~));
というパターンが使われているのを見かけました。
見かけたっていうか移植しようとしてこの違いに気がついた訳ですが。
2012年05月23日の記事を表示しています。