Compiler

noImplicitAny

When there are no type annotations for a variable, TypeScript will assume the type as any. This can cause a wide variety of errors to be missed by the compiler.

If strict or noImplicitAny is set to true, an untyped value will produce a compiler error.

This flag does affect certain cases of dynamic let assignment.

The noImplicitAny flag will prevent you from using dynamic types without an explicit declaration.

noImplicitOverride

If set to true, forces class inheritance to use the override keyword when defining a function that overrides a method from a super class.

noImplicitReturns

Checks all code paths in a function to ensure they return a value.

noImplicitThis

Raises an error when this is used with an implied any type.

noPropertyAccessFromIndexSignature

When this flag is enabled, TypeScript will no longer allow you to use the dot syntax (.) to access fields which may not be defined.

This setting ensures consistency between accessing a field via the “dot” (obj.key) syntax, and “indexed” (obj["key"]) and the way which the property is declared in the type.

Was this page helpful?