2017-11-01 7 views
-1

私は単純に "計算されたプロパティ"の周りに私の頭を包むことはできませんが、私はグーグルで助けなかったが、the website I am followingはこれを言うが、私はそれが私に綴られていることを知っていますが、私はまだそれが私に言いたいことを理解できませんでした。あなたは "単純な言葉"でそれを言うことを試みることができますか?計算されたプロパティを理解する(角括弧)

オブジェクトリテラルに角括弧を使用できます。これは、 と計算されたプロパティと呼ばれています。例えば

let fruit = prompt("Which fruit to buy?", "apple"); 

let bag = { 
    [fruit]: 5, // the name of the property is taken from the variable fruit 
}; 

alert(bag.apple); // 5 if fruit="apple" 

計算されたプロパティの意味は単純です:[fruit]は プロパティ名がfruitから取らなければならないことを意味します。

したがって、訪問者が"apple"と入力した場合、bag{apple: 5}になります。

私は理解できない部分は、あなたがfruitと呼ばれる変数でpromptの値を保存している

alert(bag.apple); // 5 if fruit="apple" 
+0

テキストを引用したページへの直接リンクを提供してください。 – Bergi

+1

これについて不明な点は何ですか? '{fruit:5}'を使った場合、 'fruit'という名前の変数が存在するかどうかにかかわらず、キーは' fruit'になります。なぜなら、これは_text literal_です。したがって、_dynamically_のキーを指定する場合は、この構文を使用するか、 'bag [fruit] = 5'(その場合は' bag'がその行の前に存在する必要があります)を使用する必要があります。 – CBroe

+0

'let fruit =" apple "をプロンプトなしで表示していましたが、明示的に変数値を動的にしたかったのです。 – Bergi

答えて

0

です。この場合、デフォルトは「apple」になります。

次に、別の変数であるbagを宣言します。 bagには1つのプロパティがあり、ここでは[fruit]です。これは効果的にそしてbag.appleの値を警告します宣言

let bag = { 
    'apple': 5 
}; 

アラート機能を作り、実行時にfruitの値に評価されます。 変数を宣言したときにbag[fruit]を5に設定し、fruit'apple'であるため、bag.appleには値があります。

関連する問題