きっかけ
上の記事を読んで、なんでこんな怠い設計なんだろうなーとぼんやり考えていたら、突然ひらめいた。
ので書く。
なぜなのか
JSの配列では数値や文字列などを混合させることができるから。
数値のみの配列、文字列のみの配列、Dateのみの配列などで処理を変えることは容易だろうが、
混合されている場合、ソートのルールは各使用者の思惑によって変わってくる。
どういう挙動にしようが、「なんでこんなクソみたいな仕様なんだよ。」という声は出てくる。
ならいっそのこと面倒くさい型ごとの分岐処理などは組み込まず、(引数が指定されていなかった場合は)要素を文字列に変換してソートする。という単純な実装にしたのではないだろうか?
終わり。