We're looking for a user researcher to understand the needs of developers and designers. Is this you or someone you know? Check out the post: https://mzl.la/2IGzdXS

Warning: expression closures are deprecated

メッセージ

Warning: expression closures are deprecated

エラー種別

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

エラー原因

標準外の式クロージャ構文 (略記関数構文) は非推奨のため、使用すべきではありません。この構文は バグ 1083458 で削除予定であり、削除された後は SyntaxError をスローします。

非推奨の構文

式クロージャで、中括弧を省略したり、関数宣言やメソッド定義で return ステートメントを省略したりすることです。

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 } 
};

関連情報

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

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