천진난만 코딩 스토리

2023.05.22) 타입스크립트의 타입 (2) 본문

TIL(Today I Learned)

2023.05.22) 타입스크립트의 타입 (2)

Wisdom_1104 2023. 5. 23. 00:01

1. readonly 속성

readonly 속성은 요소를 읽기 전용으로 만들어 준다.

const names: readonly string[]=["1", "2"]
names.push()    //불가능
names.filter()    //가능
names.map()   //가능

readonly 속성을 적용하게 되면 값을 수정할 수 없게 된다.

다만, array를 변경하지 않는 즉, 불변성을 지켜주는 filter나 map은 사용할 수 있다.

다시 정리하면, readonly는 요소이 불변성을 지켜주는 보호장치인 셈이다!

 

2. Tuple

Tuple은 array를 생성하게 한다.

다만 최소한의 길이를 가져야 하고, 특정 위치에 특정 타입이 있어야 한다.

const user:[string, number, boolean] = ["ori", 5, true]
player[0] = 7   // 오류가 남. player[0]의 요소는 string 타입이기 때문.

타입이 주어진 위치대로 타입을 가지게 된다.

원한다면 Tuple에 readonly도 적용할 수 있다.

const user:[string, number, boolean] = ["ori", 5, true]
player[0] = "olaf"   // 타입은 같지만, readonly기 때문에 오류가 남.

3. any

any는 typescript에서 빠져나오는 방법이다.

그렇게 되면 javascript에 있는 것이 되고, typescript로서의 보호장치를 잃어버리게 된다.

const a : any [] = [1,2,3]
const b : any = true

a + b   //오류가 나지 않는다.