私は単純に "計算されたプロパティ"の周りに私の頭を包むことはできませんが、私はグーグルで助けなかったが、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"
テキストを引用したページへの直接リンクを提供してください。 – Bergi
これについて不明な点は何ですか? '{fruit:5}'を使った場合、 'fruit'という名前の変数が存在するかどうかにかかわらず、キーは' fruit'になります。なぜなら、これは_text literal_です。したがって、_dynamically_のキーを指定する場合は、この構文を使用するか、 'bag [fruit] = 5'(その場合は' bag'がその行の前に存在する必要があります)を使用する必要があります。 – CBroe
'let fruit =" apple "をプロンプトなしで表示していましたが、明示的に変数値を動的にしたかったのです。 – Bergi