Skip to content

Update documentation to mention that --strictNullChecks flag is necessary for --strictPropertyInitialization to have an effect  #23659

Closed
@loicraux

Description

@loicraux

TypeScript Version:
2.7.0 and above.

Search Terms:
strictNullChecks strictPropertyInitialization

Code

class C {
    foo: number;
    bar = "hello";
    baz: boolean;

    constructor() {
        this.foo = 42;
    }
}

Expected behavior:
TS documentation should mention that --strictNullChecks flag is needed for --strictPropertyInitialization one to actually have an effect.
This would properly document the actual code change in this commit :
image
This was clearly mentionned in the corresponding PR description.
Also @mihailik suggested that a warning could also be emitted. Has this been done?

Actual behavior:
This is mentioned nowhere in the documentation.
Documentation for --strictPropertyInitialization is Ensure non-undefined class properties are initialized in the constructor..
To determine if a class property is non-undefined, --strictNullChecks flag must be turned on.

Playground Link:
http://www.typescriptlang.org/play/#src=class%20C%20%7B%0D%0A%20%20%20%20foo%3A%20number%3B%0D%0A%20%20%20%20bar%20%3D%20%22hello%22%3B%0D%0A%20%20%20%20baz%3A%20boolean%20%7C%20undefined%3B%0D%0A%0D%0A%20%20%20%20constructor()%20%7B%0D%0A%20%20%20%20%20%20%20%20this.foo%20%3D%2042%3B%0D%0A%20%20%20%20%7D%0D%0A%7D%0D%0A%0D%0Aconst%20foo%3A%20string%20%3D%20%22fdsf%22%3B

Related Issues:
I found no existing issue for updating the documentation about this.

Metadata

Metadata

Assignees

Labels

BugA bug in TypeScriptDocsThe issue relates to how you learn TypeScriptFixedA PR has been merged for this issueGood First IssueWell scoped, documented and has the green lightHelp WantedYou can do this

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions