super-must-be-called.js (826B)
1 // Copyright (C) 2016 the V8 project authors. All rights reserved. 2 // This code is governed by the BSD license found in the LICENSE file. 3 /*--- 4 es6id: 21.2.3 5 description: Super need to be called to initialize internals 6 info: | 7 21.2.3 The RegExp Constructor 8 9 ... 10 11 The RegExp constructor is designed to be subclassable. It may be used as the 12 value of an extends clause of a class definition. Subclass constructors that 13 intend to inherit the specified RegExp behaviour must include a super call to 14 the RegExp constructor to create and initialize subclass instances with the 15 necessary internal slots. 16 ---*/ 17 18 class RE1 extends RegExp { 19 constructor() {} 20 } 21 22 assert.throws(ReferenceError, function() { 23 new RE1(); 24 }); 25 26 class RE2 extends RegExp { 27 constructor() { 28 super(); 29 } 30 } 31 32 new RE2(); 33 34 reportCompare(0, 0);