speg03の雑記帳

主に未来の自分のために試したことなどを記録しています

オブジェクトリテラルのプロパティ名は引用符で囲む

JavaScriptのオブジェクトリテラルでプロパティ名に予約語を使うと問題になるかも。

次のコード片はIE6(でしか確認してないけれど)でclassの行がスクリプトエラーになる。

var data = {
    title: "Google",
    attr: {
        href: "http://www.google.com/",
        class: "cssClass"
    }
};

じゃあ、この際、全部引用符で囲めばいいんじゃね、というわけで。

var data = {
    "title": "Google",
    "attr": {
        "href": "http://www.google.com/",
        "class": "cssClass"
    }
};

シングルクォートでもよいはずだけど、JSON構文的にはダブルクォートしか許されないみたいですね。

参考