E0239: TypeScript assignment-asserted fields are not supported in JavaScript
In TypeScript, !
after a class field name indicates a definite assignment
assertion. It is a syntax error to use a definite assignment assertion on a
class field in JavaScript code:
class AccountBuilder {
name!: string;
address = null;
setName(value) {
this.name = value;
return this;
}
setAddress(value) {
this.address = value;
return this;
}
}
To fix this error, remove the !
after the field name, and remove the field's
type:
class AccountBuilder {
name;
address = null;
setName(value) {
this.name = value;
return this;
}
setAddress(value) {
this.address = value;
return this;
}
}
Introduced in quick-lint-js version 2.6.0.