[JavaScript][PHP][Perl] 配列を初期化するときの、最後のカンマの扱いについて

プログラムを書いていて、下記のように配列を初期化することがよくあります。
配列 = [
    要素1,
    要素2,
];
このときいつもモヤモヤするのが、 最後の要素の後にカンマ(,)付けても大丈夫なんだっけ? ということ。 つまり、この配列は要素が2個としてちゃんと解釈されるのかな?という不安です。 よい機会なので、JavaScript、PHP、Perlで挙動の違いをまとめてみました。 Perlの場合
@ary = ("foo", "bar",);
$count = @ary;
print $count; 
→ 結果  2
PHPの場合
$ary = array( "foo", "bar", );
echo count($ary);
→ 結果  2
JavaScript (Firefox) の場合
var ary = ["foo","bar",];
alert(ary.length);
→ 結果 : 2
JavaScript (IE6) の場合
var ary = ["foo","bar",];
alert(ary.length);
→ 結果 : 3
結論。 IEのJavaScriptI(=JScript)は、最後のカンマのあとにもう一つ空の要素を生成する。 というわけで本日のまとめ。  [FOO,BAR,] を  3個と数える  JScript 字あまり ><
カテゴリ: