readonly
JS-0368readonly
181}
182
183export class NukeNodesInspectorProvider implements vscode.TreeDataProvider<Dependency> {
184 private _onDidChangeTreeData: vscode.EventEmitter<Dependency | undefined | null | void> =185 new vscode.EventEmitter<Dependency | undefined | null | void>();186 readonly onDidChangeTreeData: vscode.Event<Dependency | undefined | null | void> =
187 this._onDidChangeTreeData.event;
188
readonly
161class Dependency extends vscode.TreeItem {
162 constructor(
163 public readonly label: string,
164 private version: string,165 context: { context: string; icon: string },
166 public readonly collapsibleState: vscode.TreeItemCollapsibleState
167 ) {
Private members are marked as readonly
if they're never modified outside of the constructor.
class Container {
// These member variables could be marked as readonly
private neverModifiedMember = true;
private onlyModifiedInConstructor: number;
public constructor(
onlyModifiedInConstructor: number,
// Private parameter properties can also be marked as readonly
private neverModifiedParameter: string,
) {
this.onlyModifiedInConstructor = onlyModifiedInConstructor;
}
}
class Container {
// Public members might be modified externally
public publicMember: boolean;
// Protected members might be modified by child classes
protected protectedMember: number;
// This is modified later on by the class
private modifiedLater = 'unchanged';
public mutate() {
this.modifiedLater = 'mutated';
}
}