Understanding Computed Properties (square Brackets)
Solution 1:
You're saving the value of the prompt
in a variable called fruit
. In this case, it defaults to "apple".
You're then declaring another variable, bag
. bag
has one property, which here is [fruit]
. This will evaluate to the value of fruit
at runtime, effectively making the declaration
let bag = {
'apple': 5
};
The alert function will then alert the value of bag.apple
. bag.apple
has a value because you set bag[fruit]
to be 5 when you declared the bag
variable, and fruit
is 'apple'
.
Solution 2:
javascript is different in this as in Python
d={xx:11}
d set to be { xx: 11 }
Now
key="we"d={[key]:22}
d1 set to be { we: 22 }
Python would not accept xx - it would be not-defined. But js will see xx as a string 'xx'. If you want to use it the Python way, you have to use [key]:22 as in above.
Solution 3:
The visitor doesn't have to enter "apple". It was supplied as the default in the prompt. Only by modifying the alert: alert(bag[fruit]) could the user enter a different value in the prompt, e.g., "banana" and get the alert to report 5 instead of undefined. I use computed values mostly for returning an iterator from an iterable function:
let interator = iterable[Symbol.iterator]();
, and object keys that have spaces or characters that don't conform to the production for a JavaScript identifier.
Post a Comment for "Understanding Computed Properties (square Brackets)"