This commit is contained in:
Ilya Kantor 2019-07-19 19:30:19 +03:00
parent 76b6eaf410
commit 746fe5f2b6

View file

@ -145,7 +145,7 @@ let key = prompt("What do you want to know about the user?", "name");
alert( user[key] ); // John (if enter "name") alert( user[key] ); // John (if enter "name")
``` ```
The dot notation cannot be used in a similar way. The dot notation cannot be used in a similar way:
```js run ```js run
let user = { let user = {
@ -235,6 +235,7 @@ That can become a source of bugs and even vulnerabilities if we intend to store
In that case the visitor may choose `__proto__` as the key, and the assignment logic will be ruined (as shown above). In that case the visitor may choose `__proto__` as the key, and the assignment logic will be ruined (as shown above).
There is a way to make objects treat `__proto__` as a regular property, which we'll cover later, but first we need to know more about objects. There is a way to make objects treat `__proto__` as a regular property, which we'll cover later, but first we need to know more about objects.
There's also another data structure [Map](info:map-set-weakmap-weakset), that we'll learn in the chapter <info:map-set-weakmap-weakset>, which supports arbitrary keys. There's also another data structure [Map](info:map-set-weakmap-weakset), that we'll learn in the chapter <info:map-set-weakmap-weakset>, which supports arbitrary keys.
```` ````