blob: 08b042a3b5500cc80e6d88f1626554f13cf15811 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
// In these cases, @@unscopables should not be consulted.
// Because obj has no properties `assertEq` or `x`,
// obj[@@unscopables] is not checked here:
var obj = {
get [Symbol.unscopables]() {
throw "tried to read @@unscopables";
}
};
var x = 3;
with (obj)
assertEq(x, 3);
// If @@unscopables is present but not an object, it is ignored:
for (let nonObject of [undefined, null, "nothing", Symbol.for("moon")]) {
let y = 4;
let obj2 = {[Symbol.unscopables]: nonObject, y: 5};
with (obj2)
assertEq(y, 5);
}
reportCompare(0, 0);
|