Unnecessarily verbose declarations and initializations make it harder to read the code, and should be simplified. Specifically, primitive
(number, string, and boolean) types should be omitted from variable and parameter declaration when they can be
easily inferred from the initialized or defaulted value.
const n: number = 1; // Noncompliant, "number" can be omitted
function foo(s: string = "") {} // Noncompliant, "string" can be omitted
class Bar {
b: boolean = true; // Noncompliant, "boolean" can be omitted
}
const n = 1;
function foo(s = "") {}
class Bar {
b = true;
}