MDN’s new design is in Beta! A sneak peek: https://blog.mozilla.org/opendesign/mdns-new-design-beta/

SyntaxError: missing name after . operator

メッセージ

SyntaxError: missing name after . operator

エラータイプ

SyntaxError

何がうまくいかなかったのか?

メンバー演算子に対して、ドット演算子が (.) 使われました。アクセスしたいプロパティ名を指定しなければなりません。計算されたプロパティアクセスのためには、プロパティアクセスをドットを使用したものから角括弧を使用したものに変更する必要があります。それらによって、式を計算できるようになります。そうではなく、連結しようとしましたか? その場合は、プラス演算子 (+) を代わりに使用してください。以下の例をご覧ください。

プロパティアクセス

JavaScript のメンバー演算子は、ドット (.) か角括弧 ([]) を使用しますが、両方は使いません。角括弧で計算されたプロパティアクセスができます。

var obj = { foo: { bar: "baz", bar2: "baz2" } };
var i = 2;

obj.[foo].[bar]
// SyntaxError: missing name after . operator

obj.foo."bar"+i;
// SyntaxError: missing name after . operator

このコードを修正するには、このようにオブジェクトにアクセスする必要があります:

obj.foo.bar; // "baz"
// or alternatively
obj["foo"]["bar"]; // "baz"

// computed properties require square brackets
obj.foo["bar" + i]; // "baz2"

プロパティアクセス vs. 連結

(PHP のような) ほかの言語から来たなら、ドット演算子 (.) と連結演算子 (+) を混同しがちです。

console.log("Hello" . "world");

// SyntaxError: missing name after . operator

連結のためにはプラス記号を使用すべきです:

console.log("Hello" + "World");

関連項目

ドキュメントのタグと貢献者

 このページの貢献者: YuichiNukiyama
 最終更新者: YuichiNukiyama,