素人がプログラミングを勉強していたブログ

プログラミング、セキュリティ、英語、Webなどのブログ since 2008

連絡先: twitter: @javascripter にどうぞ。

Array.sortの挙動

[
	false,
	'',
	0,
	null,
	'a',
	new String,
	new Number,
	new Boolean,
	new Array,
	1,
	undefined,
	NaN,
	void 0,
	true
	].sort()

としたら、結果は
["", , [], 0, 0, 1, NaN, "a", false, false, null, true, undefined, undefined]
になった。
falseとtrueの間にnullが来るとか、想像しづらい。

さらに、new Numberは、数値の0とは微妙に違う。これについては何故[]==[]はfalseなのか - 素人がプログラミングを勉強するブログでも書いた。