Modyfikator readonly
w TypeScript sprawia, że pole obiektu jest tylko do odczytu. Oznacza to, że nie można zmienić wartości tego pola po jego inicjalizacji. Jest to szczególnie przydatne przy tworzeniu typów obiektów, które nie powinny być modyfikowane po ich utworzeniu. Przykład:
interface Person { readonly name: string; age: number; } const person: Person = { name: 'John', age: 25 }; person.name = 'Mike'; // Błąd! 'name' jest tylko do odczytu.
Modyfikator const
natomiast jest używany dla zmiennych, oznaczając, że sama zmienna nie może być przypisana ponownie. Wartość przypisana do zmiennej const
może być zmieniana, jeśli jest to obiekt lub tablica.
const person = { name: 'John', age: 25 }; person.age = 30; // OK, ale person nie może być przypisany ponownie.
Podsumowując: readonly
jest używane dla właściwości obiektów, natomiast const
dla zmiennych.