javascript - 追加 - 'function' キーワードを使用せずに、オブジェクトの初期化装置でメソッドを定義できますか?



javascript 関数 (1)

これはECMAScript 6構文です。 あなたの環境(ノード対ブラウザ)によっては、この構文を使用することが推奨される場合とそうでない場合があります(例:クロスブラウザはサポートされていません)。

次のコードを与えます:

var obj = { foo: function() {}, bar: function() {} };

今すぐこれを短縮することができます:

var obj = { foo() {}, bar() {} };

参照: メソッド定義(ES6)

https://src-bin.com

先日私は少し疲れましたが、私はこのJavaScriptコードを書いています:

var obj = {a(toto){console.log("func a: ", toto);} };

私は試しました:

obj.a("hello");
> func a:  hello

そしてそれは働いた。

私が本当に書いたのは、

var obj = {a: function(toto){console.log("func a: ", toto);} };

だから私の質問です:最初のコードはなぜ機能しますか?

それを説明するどこかの文書がありますか?私はそれを使うことができると思いますか? (すべてのブラウザで動作しますか?)





object