You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
You can disable defining setters in `Object.prototype`. [Example](https://tinyurl.com/2blse6aa):
1577
1577
```js
1578
1578
Symbol.useSimple();
1579
-
let symbol1 =Symbol('symbol1');
1580
-
let object1 = {};
1581
-
object1[symbol1] =true;
1579
+
let object1 = { [Symbol('symbol1')]:true };
1582
1580
for (let key in object1) console.log(key); // => 'Symbol(symbol1)_t.qamkg9f3q', w/o native Symbol
1583
1581
1584
1582
Symbol.useSetter();
1585
-
let symbol2 =Symbol('symbol2');
1586
-
let object2 = {};
1587
-
object2[symbol2] =true;
1583
+
let object2 = { [Symbol('symbol2')]:true };
1588
1584
for (let key in object2) console.log(key); // nothing
1589
1585
```
1590
1586
- Currently, `core-js` does not add setters to `Object.prototype` for well-known symbols for correct work something like `Symbol.iterator in foo`. It can cause problems with their enumerability.
You can disable defining setters in `Object.prototype`. *Example*:
122
122
```ts
123
123
Symbol.useSimple();
124
-
let symbol1 =Symbol('symbol1');
125
-
let object1 = {};
126
-
object1[symbol1] =true;
124
+
let object1 = { [Symbol('symbol1')]: true };
127
125
for (let key inobject1) console.log(key); // => 'Symbol(symbol1)_t.qamkg9f3q', w/o native Symbol
128
126
129
127
Symbol.useSetter();
130
-
let symbol2 =Symbol('symbol2');
131
-
let object2 = {};
132
-
object2[symbol2] =true;
128
+
let object2 = { [Symbol('symbol2')]: true };
133
129
for (let key inobject2) console.log(key); // nothing
134
130
```
135
131
- Currently, `core-js` does not add setters to `Object.prototype` for well-known symbols for correct work something like `Symbol.iterator in foo`. It can cause problems with their enumerability.
0 commit comments