Unnecessarily verbose declarations and initializations make it harder to read the code, and should be simplified. Specifically, primitive (``++number++``, ``++string++``, ``++boolean++`` and others) types should be omitted from variable and parameter declaration when they can be easily inferred from the initialized or defaulted value. == Noncompliant Code Example [source,javascript] ---- 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 } ---- == Compliant Solution [source,javascript] ---- const n = 1; function foo(s = "") {} class Bar { b = true; } ---- ifdef::env-github,rspecator-view[] ''' == Implementation Specification (visible only on this page) include::../message.adoc[] include::../highlighting.adoc[] ''' == Comments And Links (visible only on this page) include::../comments-and-links.adoc[] endif::env-github,rspecator-view[]