type DeepWriteable<T> = { -readonly [P in keyof T]: DeepWriteable<T[P]> };
class Employee {
readonly empCode: number;
empName: string;
constructor(code: number, name: string) {
this.empCode = code;
this.empName = name;
}
}
let emp = new Employee(10, "John");
emp.empCode = 20; //Compiler Error
emp.empName = 'Bill';
class Octopus { readonly name: string; readonly numberOfLegs: number = 8;
constructor(theName: string) { this.name = theName; }}
let dad = new Octopus("Man with the 8 strong legs");dad.name = "Man with the 3-piece suit";Cannot assign to 'name' because it is a read-only property.2540Cannot assign to 'name' because it is a read-only property.Try