-
Notifications
You must be signed in to change notification settings - Fork 12.9k
Open
Labels
Awaiting More FeedbackThis means we'd like to hear from more people who would be helped by this featureThis means we'd like to hear from more people who would be helped by this featureSuggestionAn idea for TypeScriptAn idea for TypeScript
Description
Bug Report
π Search Terms
override, TS4112
π Version & Regression Information
It happens in 4.4.2 and has been there since the introduction of override
keyword (#39669).
β― Playground Link
π» Code
class A {
override toString() { return 'foo'; }
}
π Actual behavior
TS4112: This member cannot have an 'override' modifier because its containing class 'A' does not extend another class.
π Expected behavior
It should be allowed, since the method overrides Object.prototype.toString
.
Per ECMAScript spec Β§15.7.12.7, a class without an explicit extends
clause would be implicitly inheriting from Object
. Therefore, such classes should be allowed to explicitly override methods declared in Object.
whzx5byb, ExE-Boss, ianprime0509, wkronemeijer, denbon05 and 2 more
Metadata
Metadata
Assignees
Labels
Awaiting More FeedbackThis means we'd like to hear from more people who would be helped by this featureThis means we'd like to hear from more people who would be helped by this featureSuggestionAn idea for TypeScriptAn idea for TypeScript