mirror of https://github.com/tc39/test262.git
47 lines
926 B
JavaScript
47 lines
926 B
JavaScript
// Copyright (C) 2015 the V8 project authors. All rights reserved.
|
|
// This code is governed by the BSD license found in the LICENSE file.
|
|
/*---
|
|
es6id: 12.3.5.1
|
|
description: >
|
|
Runtime Semantics: Evaluation
|
|
|
|
SuperCall : super Arguments
|
|
|
|
...
|
|
7. Let result be Construct(func, argList, newTarget).
|
|
...
|
|
10. Return thisER.BindThisValue(result)
|
|
|
|
|
|
8.1.1.3.1 BindThisValue(V)
|
|
|
|
...
|
|
3. If envRec.[[thisBindingStatus]] is "initialized", throw a ReferenceError exception.
|
|
...
|
|
---*/
|
|
|
|
var count = 0;
|
|
|
|
class A {
|
|
constructor() {
|
|
count++;
|
|
}
|
|
}
|
|
|
|
class B extends A {
|
|
constructor() {
|
|
super();
|
|
// envRec.[[thisBindingStatus]] is "initialized"
|
|
this.af = _ => super();
|
|
}
|
|
}
|
|
|
|
var b = new B();
|
|
|
|
assert.throws(ReferenceError, function() {
|
|
b.af();
|
|
});
|
|
|
|
|
|
assert.sameValue(count, 2, "The value of `count` is `2`, because S7 of `SuperCall : super Arguments` will call the super constructor.");
|