Microsoft/TypeScript

No error for undeclared #private property in `.js` files

Open

#35,962 opened on Jan 2, 2020

View on GitHub
 (7 comments) (0 reactions) (0 assignees)TypeScript (6,726 forks)batch import
BugDomain: JavaScriptEffort: ModerateHelp Wanted

Repository metrics

Stars
 (48,455 stars)
PR merge metrics
 (Avg merge 6d 17h) (9 merged PRs in 30d)

Description

class Thing {
    /**
     * @param prop {string}
     */
    constructor(prop) {
        this.#prop = prop;
    }
}

This class assigns to #prop, but it's an error to use #prop without declaring it.

This is reported as a SyntaxError, so this should report an error even outside of checkJs.

Contributor guide