How to expose a read-only integer to the outside class while being writable inside a class with TypeScript

1 Answer

0 votes
class MyClass {
  #val: number; // Private field with explicit type

  constructor(initialValue: number = 1000) { // Provide a default value
    this.#val = initialValue;
  }

  // Getter to expose the value as read-only
  get value(): number {
    return this.#val;
  }
}

const obj1 = new MyClass(); // Uses default value (1000)
console.log(obj1.value); 

// obj1.val = 23; // Error: Cannot set property 'val'

const obj2 = new MyClass(300); // Uses provided value (300)
console.log(obj2.value); 
 
 
 
/*
run:
 
1000 
300 
 
*/

 



answered May 21, 2025 by avibootz
...