ECMAScript: 配列の中の配列
ECMAScript で、自分自身を要素として含む配列を文字列に変換しようとするとどうなるか。
(function(){ var a = [1, 2, 3]; a[1] = a; return a; }()).toString()
IE 7 では 1,,3、Fx 2 でも 1,,3、Opera 9.10 ではスタックオーバーフローエラーになった。
ECMAScript の定義どおりだと、これは無限ループになる。Opera はそれに忠実だ。IE や Fx は中に出てきた配列は空文字列に変換するという対処をしているが、これだと配列の中に配列が入っているということがわからない。
| 固定リンク

コメント