IE11で「識別子、文字列または数がありません」エラー

こんにちは「すーさん」こと鈴木雅人です。

今回はIEに翻弄された備忘録として投稿します。
javascriptの連想配列、通常配列、その他オブジェクトの記法によってIE(インターネットエクスプローラー)独特のエラー「識別子、文字列または数がありません」が出てしまう時の対処法をまとめました。

連想配列などのオブジェクトの記述方法について、IEでもエラーが出ない記述方法は下記の通り

ケツカンマ問題(他のサイトでもよく見るケースですね。)

オブジェクトのプロパティや連想配列or通常配列の要素の最後に「 , (カンマ)」を入れるとエラーになります

記法問題

キーの指定に「 .(ドット)」(ドット記法)を使うとエラーになります
「 [‘ ‘](ブラケット)」(ブラケット記法)を使いましょう!

(例)
var obj = {a: “1”, b:”2″};
誤→var a = obj.a; // 1(IEではエラーが出る場合がある)
正→var a = obj[‘a’]; // 1(どのブラウザでも対応)

変数問題

プロパティ名もしくはキーに変数を使う場合は{ }内で定義できない。

(例)
誤→var key1 = test;
var obj = {
[key1]: result,
key2: result2
};
// IE非対応正→var key1 = test;
var obj = {
key2: result2
}
obj[key1] = result2;
// 全ブラウザ対応

以上3つを試すとIE独特のエラーは解消されると思います!