10

このような関数を呼び出したい場合:

moo({ a: 4 });

通常、関数定義は次のように表現する必要があります。

function moo(myArgObj) {
    print(myArgObj.a);
}

しかし、この素晴らしい構文は、関数を定義するためのspidermonkeyで完全に有効です。

function moo({ a, b, c }) { // valid syntax!
    print(a); // prints 4
}

この機能は何ですか?

4

1 に答える 1

7

それは破壊と呼ばれます。ほとんどの情報は、MDN: Destructuring assignmentで見つけることができます(特に、関数パラメーターとして渡されたオブジェクトからのフィールドのアンパックを参照してください)。


ECMAScript 標準に関する議論は、彼らの wiki ページで見つけることができます。また、dailyjs でのこのブログ投稿も興味深いかもしれません。

于 2012-05-29T19:16:16.597 に答える