본문 바로가기

데브코스

타입스크립트(2)

리터럴 타입

: 특정 값을 나타내는 타입으로 해당 값이 정확하게 일치해야한다. 

: 문자열, 숫자, 불리언, 객체  .. 리터럴 타입이 있다. 

let status = 'success' | 'error';
status = 'success'; // 유효
status='pending' // 에러:'pending' 은 허용되지 않음

 

리터럴 타입의 장점

: 코드의 가독성이 높아진다.

: 잘못된 값이 들어오는 것을 방지할 수 있다. 

 

any  타입

: 타입 체크를 하지 않는다. 어떠한 타입이 오더라도 OK

: 일부러 사용하지는 말 것

: 타입을 지정할 수 없는 제한적인 경우에만 any 타입 사용하기

 

유니온 타입

: 제한된 타입을 동시에 지정하고 싶을 때

: | 기호를 사이에 두고 동시에 타입을 지정할 수 있다.

let anyVal: number | string;

➡️ anyVal 변수는 number 나 string 타입 중 아무 타입의 값이 올 수 있다. 

➡️ 타입 가드(typeof 연산자) 를 사용하여 타입 검증을 수행하는 것이 필요하다. 

 

배열

// 베열의 유니온 타입
let mixedArray:(number|string)[]=[1,'two',3,'four'];
for(let i=0; i<mixedArray.length;i++) {
	console.log(mixedArray[i]);
}

튜플

let greeting : [number,string,boolean]=[1,'hello',true];

 

Array 와 Tuple 의 차이점

  • array 는 길이가 가변적이며 동일한 타입의 요소로 구성
  • Tuple 은 길이가 고정적이며 각 요소의 타입이 정해져있다. 

🌟 배운 점

오늘은 어제에 이어 타입스크립트에 대해 배웠다. 나는 기존에 number와 string 같은 기본 타입들만 알고 있었는데, any나 유니온 타입 등 내가 예상했던 것보다 더 다양한 타입을 사용할 수 있다는 것을 새롭게 알게 되었다. 또, 클래스와 객체 생성 방법을 배웠는데, 자바와 크게 다르지는 않지만 매개변수에 접근 지정자, 변수 이름, 타입을 한 번에 정의하는 문법이 다소 생소하게 느껴졌다. 타입스크립트와 좀 더 익숙해지는 시간이 필요할 것 같다.

'데브코스' 카테고리의 다른 글

리액트(2)  (0) 2024.10.31
리액트(React)  (0) 2024.10.30
타입스크립트(Typescript)  (2) 2024.10.28
객체 지향 프로그래밍  (0) 2024.10.27
컴파일 언어 이해하기(2)  (1) 2024.10.26