2017-11-16 8 views
3

私はes6に比較的新しいです。私は次の構文に遭遇し、何が呼び出されたのか理解できません。このes6構文とは何ですか?

let parameter = 'key1'; 
const obj = { 
    'key1': 'value1', 
    'key2': 'value2', 
    'key3': 'value3', 
    }[parameter]; 
+0

どのラインに名前を付けたいですか? :-) –

+0

[括弧表記](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Property_Accessors#Bracket_notation)を介してオブジェクトプロパティにアクセスしますか? –

答えて

3

この概念はES6に固有のものではありません。

これは単なるオブジェクトで、そのうちの1つがparameterに応じて取得されています。

それはのようになります。temp除き

let parameter = 'key1'; 
const temp = { 
    'key1': 'value1', 
    'key2': 'value2', 
    'key3': 'value3', 
} 
const obj = temp[parameter]; 

が宣言されることはありません。

+0

このコンセプトは何と呼ばれていますか? –

+0

それはES6ですが、有効なプレーンな古いJavaScriptもあります。 (constキーワードを除く) –

+0

このコンセプトの具体的な名前はわかりません。 – Cerbrus

0

ステートメント1:変数宣言と定義。

文2:変数宣言インラインオブジェクト定義インデクサを使用してアクセスします。

FYI:あなたのコードは普通のJavaScriptです。 constとのキーワードのみがECMAScript 6です。

+0

ES6は「標準のJavaScript」です。同じように。 –

+0

@FelixKling:はい、いいえ。それはあなたが「標準」と言って理解することによって決まります。 –

+0

右。しかし、あなたはそれが何を意味するのかを説明していません;)または多分私はあなたの答えの記述を誤解しました。 –

関連する問題