Closed
Description
TypeScript Version: 3.5.2
Search Terms:
Code
constructor(options = {}) {
console.log('hello')
super(options)
}
Expected behavior:
It should work. It's valid JavaScript.
Run the following in Chrome console (or one that support class fields):
class A {
foo = 'foo'
constructor() {
this.foo = 'bar'
}
}
class B extends A {
bar = 'bar'
constructor() {
console.log('hello')
super()
this.bar = 'foo'
}
}
new B()
Actual behavior:
It complains:
A 'super' call must be the first statement in the constructor when a class contains initialized properties or has parameter properties.
Playground Link:
Related Issues:
Metadata
Metadata
Assignees
Type
Projects
Milestone
Relationships
Development
No branches or pull requests
Activity
Epskampie commentedon Jun 15, 2019
Duplicates: #945 #8277 etc etc. Please search before posting!
trusktr commentedon Jun 15, 2019
Ah, ok. Thanks. 🙏 Sorry!