Rick Waldron 29e2990d9b 14.5 Class Definitions
- 14.5.1 Static Semantics: Early Errors
- 14.5.3 Static Semantics: ConstructorMethod
- 14.5.14 Runtime Semantics: ClassDefinitionEvaluation
2015-05-02 14:06:57 -04:00

21 lines
528 B
JavaScript

// Copyright (C) 2014 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
es6id: 14.5
description: >
class invalid extends
---*/
assert.throws(TypeError, function() {
class C extends 42 {}
});
assert.throws(TypeError, function() {
// Function but its .prototype is not null or a function.
class C extends Math.abs {}
});
assert.throws(TypeError, function() {
Math.abs.prototype = 42;
class C extends Math.abs {}
});
delete Math.abs.prototype;