JavaScriptの連想配列(Object)の書き方
var hash = { a: 'A', b: 'B', c: 'C' }
と書く。
これを
//これはだめ var hash = { a: 'A', b: 'B', c: 'C', }
としてはいけない。つまり、perlのように最後に余分な「,」を付けてはいけない*1。
ECMAScript Spec: 11. Expressionsにはたしかにそのように書かれてある。
あと、JSONの仕様だと文字列はダブルクオーテーションで括らなくてはだめで*2、また連想配列の名前(オブジェクトのプロパティ名)はそのような文字列でないとだめ。つまり以下のようにしないとだめ。
{ "a": "A", "b": "B", "c": "C" }
配列はどうか
配列リテラルは
var array = [1,2,3,,,6,,]
としてもいいようだ。この場合だと array[3]はundefinedとなり、array.lengthは8となる。
ただし、やはりこれはJSONとしてはだめなようで
[ 1,2,3,null,null,6,null,null]
とする必要があるようだ*3。
*2:シングルクオーテーションではだめ
*3:ただし、JavaScriptではundefinedとnullは厳密には異なる→http://developer.mozilla.org/en/docs/Core_JavaScript_1.5_Reference:Operators:Comparison_Operators