Mozilla(Firefox)アドオンSDKのJavascriptコードを見ていると、これまで見たことのないような変数宣言が見つかりました。
var { foo, bar } = someFunction("whatever"); // just an example
変数名を囲む中括弧が表示されますか?結局のところ、これはオブジェクトのプロパティの値を一度に複数の変数に割り当てる方法です。配列の代わりにオブジェクトプロパティを使用することを除けば、代入やPHPの破棄に似ているようです。list
ドキュメントがないように見えるので、私は実際にいくつかのいじりを通してこれを見つけました。このコードを見てください:
function gimmeAnObject() {
return {
foo: "hey",
bar: "sup"
};
}
console.log(gimmeAnObject()); // Object { foo="hey", bar="sup" }
var { foo, bar } = gimmeAnObject();
console.log(foo); // hey
console.log(bar); // sup
また、これはFirefoxでのみ機能することもわかりました。Chromeは代わりにエラーをスローします: " Uncaught SyntaxError:Unexpectedtoken{ "。それが、Firefoxアドオンコードを見始める前に私がそれを見なかった理由を説明しています。
他の誰かがこの種の変数宣言を見たことがありますか?ドキュメントが見つからないのはなぜですか?Firefoxでしか動作しないので、Mozillaのものかもしれないと思いますが、MDNでは何も見つかりませんでした。繰り返しになりますが、何を検索すればよいかわからなかったのかもしれません。