어떤 값에 대해 불변성을 갖도록 만들어주고 싶다면, readonly 타입으로 보호장치를 설정해 줄 수 있다.
타입스크립트에서 readonly 키워드는 변수, 객체, 배열 등에 사용되며 해당 요소를 읽기 전용으로 만든다.
값을 할당한 후에는 값을 변경할 수 없게 된다. (어디까지나 에디터 에러일 뿐 실제 자바스크립트 파일은 변경)
type Player = { //대문자로 만들기
readonly name: string, //읽기 전용으로 설정
}
const nemo: Player = {
name: "nemo",
};
nemo.name = "다른이름" //오류, 읽기전용이라 변경 불가
const numbers: readonly numbers[] = [1,2,3]
numbers.push(1) //오류
let arr: ReadonlyArray<number> = [1,2,3];
arr.splice(0,1); // error
//filter, map은 가능. 불변성을 해치지 않고 새 배열 반환
'기술 > TypeScript' 카테고리의 다른 글
Interface vs Type 타입을 지정하는 또 다른 방법 (0) | 2023.12.21 |
---|---|
여러 타입을 만족하는 하나의 타입, 타입 합치기(Intersection Type, union/&) (1) | 2023.12.19 |
타입 축약과 타입의 확정 (Type Aliases 별칭, Narrowing, Assertion) (1) | 2023.12.18 |
Object(객체)에서 여러가지 타입을 지정해야 하는 경우 [key: type] (0) | 2023.12.18 |
기본 타입 정리(primitive types), 한 변수에 여러 타입 지정(union), array 전용 타입(tuple), 선택적 타입(optional), 함수 타입(기본, void, never), class 타입 (1) | 2023.11.26 |