Array-of-cross-compartment.js (451B)
1 // Array.of returns an object in the target compartment, not the caller's compartment. 2 // This rules out implementations along the lines of (...args) => args. 3 4 var g = newGlobal(); 5 var ga = g.Array.of(1, 2, 3); 6 assertEq(ga instanceof g.Array, true); 7 8 g.Array.of = Array.of; 9 var a = g.Array.of(1, 2, 3); // this-value is a wrapper of g.Array, which IsConstructor, so we call it 10 assertEq(ga instanceof g.Array, true); // it produces a g.Array instance