株式会社ノベルワークス
home

TOP

keyboard_arrow_right

ブログ一覧

keyboard_arrow_right

【javascript】識別子、文字列または数がありません

しもむー

2025/01/22

【javascript】識別子、文字列または数がありません

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独特のエラーは解消されると思います!