[解決済み】javascriptの変数名の周りの{curly braces}の意味は何ですか【重複
2022-04-06 17:34:12
質問
EDIT JSHintを見た後、私はこの' ES6 (esnext オプションを使用) または Mozilla JS 拡張 (moz を使用) で使用可能な「構造化式」。 そして これ しかし、それを読んだ後でも、なぜそれが使われるのか理解できない。
で以下のようなコードに出会いました。 MDN
var ui = require("sdk/ui");
var { ActionButton } = require("sdk/ui/button/action");
2行目の中括弧は何のためにあるのでしょうか?1行目にはなぜ中括弧がないのですか?
どのように解決するのですか?
これは、いわゆる 構造化代入 の新しい機能です。 JavaScript 1.7 (そして ECMAScript 6 ) (現在、FirefoxのJavaScriptエンジンの一部としてのみ利用可能)大雑把に訳すと、こんな感じです。
var ActionButton = require("sdk/ui/button/action").ActionButton;
この例では、割り当てられる項目が1つだけなので、馬鹿げているように見えます。 しかし、このパターンを使えば、一度に複数の変数を代入することができます。
{x, y} = foo;
と同等である。
x = foo.x;
y = foo.y;
これは、配列にも使えます。 例えば、一時的な変数を使わずに、2つの値を簡単に入れ替えることができます。
var a = 1;
var b = 3;
[a, b] = [b, a];
ブラウザのサポートは、以下の方法で追跡できます。 kangax' ES6 互換性テーブル .
関連
-
[解決済み] JavaScriptで "use strict "は何をするのか、その根拠は?
-
[解決済み] JavaScriptでオブジェクトをディープクローンする最も効率的な方法は何ですか?
-
[解決済み] とは何ですか! (not not)演算子とは何ですか?
-
[解決済み] JavaScriptで変数が文字列かどうかをチェックする
-
[解決済み] JavaScriptで変数が存在するか(定義されているか/初期化されているか)をチェックする
-
[解決済み] JavaScriptの変数のスコープとは何ですか?
-
[解決済み] JavaScriptの「new」キーワードとは何ですか?
-
[解決済み] javascript:void(0)」とは何ですか?
-
[解決済み] ES6インポートで中括弧を使用するのはどのような場合ですか?
-
[解決済み】JavaScript版sleep()とは?)
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Failed to load resource: net::ERR_FILE_NOT_FOUND loading json.js
-
[解決済み】フォームコントロールの値アクセサがない
-
[解決済み】webpack: モジュールが見つかりません。Error: 解決できない(相対パスで)
-
[解決済み】JavaScript "Uncaught TypeError: object is not a function" 連想性の質問
-
[解決済み】別のjsファイル内でJavaScriptの関数を呼び出す
-
[解決済み】未定義のプロパティ 'bind' を読み込めない。React.js【重複あり
-
[解決済み】SyntaxError: ChromeのJavascriptコンソールでUnexpected Identifierが発生する。
-
[解決済み】npm install --legacy-peer-deps は具体的に何をするのですか?どんなときに推奨されるのか/どんな使用例が考えられるのか?
-
[解決済み】DOMException: サポートされているソースが見つからなかったため、読み込みに失敗しました。
-
[解決済み】FirefoxでGoogle Maps V3をリモートで使用すると「googleが定義されていません」と表示される。