خواص فقط خواندنی - ReadOnly

کلمه کلیدی Readonly یک خاصیت درون class , type , interface را تبدیل به خاصیت فقط خواندنی می کند. اعضای readonly می توانند خارج از کلاس قابل دسترسی باشند. اما مقدارشان قابل تغییر نیست. از آنجائیکه اعضای readonly در خارج کلاس قابل تغییر نیستند. باید در declaration اولیه یا سازنده کلاس، اعلان یا مقداردهی شوند .

 

class Employee {
    readonly empCode:number;
    empName:string;

    constructor(name:string,code:number){
        this.empName = name;
        this.empCode = code; // خاصیت فقط خواندنی درون سازنده، مقداردهی شد
    }
}

let emp = new Employee('Mokhtar',340);
console.log(emp.empName);//Mokhtar
console.log(emp.empCode);//340
emp.empName = "Amir";
console.log(emp.empName);//Amir
emp.empCode = 520;// خطای کامپایلر