noImplicitOverride
has been introduced in TypeScript 4.3. It can help us make sure we are intentionally overriding properties or methods in parent classes. If a child class extends a parent class and overrides a method, if (when) the parent class changes and renames that method, the child class's method might no longer be called, which would break its functionality. Enforcing this setting will raise an error in those cases: the child classes will say they override something which no longer exists, and TypeScript will raise an error to warn us.