menu

prefer-readonly

Require readonly for private fields never mutated after initialization

A private field that is never mutated after initialization grants unnecessary write access inside its declaration. Instead, you SHOULD mark the field readonly so later mutation is rejected.

Reported

1class User {2    private name: string;3 4    constructor(name: string) {5        this.name = name;6    }7 8    describe(): string {9        return this.name;10    }11}

Accepted

1class User {2    private readonly name: string;3 4    constructor(name: string) {5        this.name = name;6    }7 8    describe(): string {9        return this.name;10    }11}