단진
대체로 맑음
단진
  • 분류 전체보기 (162)
    • 개발 (112)
      • 회고 (25)
      • 개발과정 (28)
      • 개념 (14)
      • JavaScript (11)
      • TypeScript (12)
      • 알고리즘 (4)
      • GitHub (4)
      • 오류 (9)
      • TMI (5)
    • 일상 (15)
      • 사진 및 여행 (6)
      • 책 소개 (4)
      • 기타 TMI (5)
    • IT (16)
      • 개념 (5)
      • 데이터베이스 (6)
      • 딥러닝 (1)
      • TMI (4)
    • TMI (4)
      • 법률 TMI (4)
    • 보안 (15)
      • Dreamhack (5)
      • Root Me (10)
hELLO · Designed By 정상우.
단진

대체로 맑음

5. 타입스크립트(TypeScript) - Readonly & Tuple
개발/TypeScript

5. 타입스크립트(TypeScript) - Readonly & Tuple

2022. 9. 4. 01:15

1. Readonly

→ 요소들을 읽기 전용으로 만들 수 있다

 

읽기 전용이 설정된 부분을 수정하려고 시도하면 TS에서 제한 한다 (보호 한다)

type Age = number;
type Player = {
	readonly name: string,
	age?: Age
}

function playerMaker(name: string) : Player {
	return {
		name: name
	}
};

const a = playerMaker("hello");
a.age = 12;

a.name = "bye"; // readonly 설정된 name 부분을 수정하려고 하기 때문에 TS에서 오류 발생
const numbers : readonly number[] = [1, 2, 3, 4]

numbers.push(1) // numbers는 readonly 상태이기 때문에 사용자가 변경할 수 없다

 

 

2. Tuple

→ Array를 생성할 수 있게 하는데 최소한의 길이를 가져야 하고 특정 위치에 특정 타입이 있어야 한다

["hello", 12, true] // 첫 요소는 string, 두번째 요소는 number, 세번째 요소는 boolean

// 이것을 TS에서 선언할 때는 아래와 같이 사용한다
const player: [string, number, boolean] = ["hello", 12, true]

// 보호장치가 필요하고 TS에게 이 array가 최소 3개의 요소를 가지며 각 요소 타입이 순서대로여야 함을 알려야 할 때 사용

또한 이것을 사용하면 항상 정해진 갯수의 요소를 가져야 하는 Array를 지정할 수 있다

 

가끔 API를 받았는데 오브젝트가 아니라 배열 형태로 줄 때가 있다

→ 적어도 위와 같이 타입을 지정하는 것이 도움이 될 것이다

const player: readonly [string, number, boolean] = ["hello", 12, true]

// 이와 같이 readonly도 설정할 수 있다

'개발 > TypeScript' 카테고리의 다른 글

7. 타입스크립트(TypeScript) - Overloading & Polymorphism (다형성)  (0) 2022.09.04
6. 타입스크립트(TypeScript) - 타입 & Call Signature  (0) 2022.09.04
4. 타입스크립트(TypeScript) - Alias(별칭) & return 타입 지정  (0) 2022.09.03
3. 타입스크립트(TypeScript) - 타입(Type)  (0) 2022.09.03
2. 타입스크립트(TypeScript) - 타입 시스템(Type System)  (0) 2022.09.03
    '개발/TypeScript' 카테고리의 다른 글
    • 7. 타입스크립트(TypeScript) - Overloading & Polymorphism (다형성)
    • 6. 타입스크립트(TypeScript) - 타입 & Call Signature
    • 4. 타입스크립트(TypeScript) - Alias(별칭) & return 타입 지정
    • 3. 타입스크립트(TypeScript) - 타입(Type)
    단진
    단진

    티스토리툴바