TypeScript (2)

기본 타입

문자

let name:string = 'Joonyoung';

숫자

let age:number = 30;

true, false

let isAdult:boolean = true;

배열[숫자]

let a:number[] = [1, 2, 3];
  • 문자의 경우에는 let a:string[]
    or
let a:Array<number> = [1, 2, 3];
  • 문자의 경우에는 let a:Array<string>[]

튜플(Tuple)

배열과 비슷한 모양인데, 인덱스 별로 타입이 다를 때 사용된다.

let b:[string, number];
  • 배열의 첫번째 요소에는 문자가, 두번째 요소에는 숫자가 올 수 있다는 뜻이다.
b = ['Joonyoung', 26]; // 1번 경우
b = [26, 'Joonyoung']; // 2번 경우
  • 따라서 1번의 경우는 입력이 가능하지만, 2번의 경우는 에러가 뜰 것이다.

void, never

void는 함수에서 아무것도 반환하지 않을 때, 주로 쓰인다.

function consolePrint():void{
	console.log('준영아 정신차려라');
}

never는 항상 에러를 반환하거나, 영원히 끝나지 않는 함수에 사용할 수 있다.

function errorFunc():never{
	throw new Error();
}

function loopFunc():never{
	while(true){
    	console.log("제발 날 멈춰주세요!")
    }
}

enum ★★★

enum은 자바스크립트에는 없는 개념인데, 비슷한 값들 끼리 묶어준다는 개념이다.

enum Os {
	Window,
  	Mac,
  	Linux,
}

운영체제로 분류되는 것들을 Os라는 enum으로 묶어주었다.


또한 enum의 특징으로는 안에 존재하는 요소에 숫자를 자동으로 할당해주는데, 순서대로 1씩 늘어난다.

  • Window = 0, Mac = 1, Linux = 2
  • 직접 할당을 할 수도 있다
  • Window = 3을 Mac = 19를 직접 할당을 했다면, Linux는 자동으로 20이 할당된다.

가장 큰 장점이자 특징으로는 양방향 매핑이 된다는 점이다.

enum Os {
	Window = 4,
  	Mac = 10,
  	Linux,
}
console.log(Os[10]); // Mac
console.log(Os['Mac']); // 10

또한 enum은 string을 할당할 수 있는데, 대신에 단방향 매핑 밖에 할 수 없게된다.

  • 자바스크립트로 변환 될 때, 다음과 같은 모습으로 컴파일이 된다!

null, undefined

let a:null = null;
let b:undefined = undefined;
profile
개인 이력, 포폴 관리 및 기술 블로그 사이트 👉 https://aimzero-web.vercel.app/

0개의 댓글