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

Warning: expression closures are deprecated

メッセージ

Warning: expression closures are deprecated

エラータイプ

警告。JavaScript の実行は中断されません。

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

非標準の 式クロージャ 構文 (ショートハンド function 構文) は非推奨のため、使用すべきではありません。この構文は バグ 1083458 で削除予定で 削除された後は SyntaxError をスローします。

非推奨の構文

式クロージャは、中括弧を省略したり、関数宣言やオブジェクトのメソッド定義からステートメントを戻したりします。

var x = function() 1;

var obj = { 
  count: function() 1
};

標準の構文

非標準の式クロージャ構文から標準の ECMAScript 構文に変換するためには、波括弧か return ステートメントを追加します。

var x = function() { return 1; }

var obj = {
  count: function() { return 1; }
};

アロー関数を使用した標準構文

代わりにアロー関数を使用できます:

var x = () => 1;

ショートハンドメソッド構文を使用した標準構文

次のように、式クロージャは getter と setter にも適用できます:

var obj = {
  get x() 1,
  set x(v) this.v = v
};

ES2015 のメソッド定義では、次のように変換できます:

var obj = { 
  get x() { return 1 }, 
  set x(v) { this.v = v } 
};

関連項目

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

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