TypeScript

TypeScript 2일차 (변수 생성 방법)

수연 (Suyeon) 2023. 8. 21. 19:13
반응형

📌TypeScript 기본타입 형성하기

let car:string = 'abc';
let isAdult:boolean = false;
let arr1:number[] = [1, 2, 3];
let age:number = 1300;
변수:데이터타입 형식으로 생성할 수 있습니다.
배열일 땐 []만 쓰는 것이 아니라, 데이터타입을 꼭 명시해줘야 합니다.

 

 

📌 Tuple

let b:[string, number];  // 첫 번째요소는 문자열, 두 번째 요소는 숫자
b = ['a', 1];

b[0].toLowerCase();
b[1].toLowerCase();  // number에는 toLowerCase()라는 메소드가 없다는 에러가 발생합니다.
TypeScript로 Tuple을 생성하면 원하는 데이터 타입만을 저장할 수 있습니다.
데이터 타입을 명확하게 해야 코드의 마지막 줄처럼 어떤 에러가 발생하는지 확인할 수 있어 유지보수에 유용합니다.

 

 

 📌 무한루프

function infLoop():never {
  while(true) {
    //...
  }
}
무한루프를 생성하고 싶을 땐 :never 를 붙이면 됩니다.

 

 

📌 enum(JS엔 없는 타입입니다.)

enum OS {
  Window,  // 0
  IOS = 10,
  Android  // 11. 순서대로 1씩 증가된다.
}

console.log(OS[IOS])	// 10
console.log(OS[10])	// IOS
enum은 비슷한 타입끼리 묶어놓은 것을 의미합니다.
값을 주어지지 않는다면 순서대로 0, 1, 2,.... 1씩 증가합니다. IOS에 10을 주고 Android에 값을 안준다면 Android에는 자동으로 11이란 값이 주어집니다.

코드 아래에서 두 개의 줄이 가능한 이유는 enum을 생성하고 값을 숫자로 줬다면 양방향으로 맵핑이 되기 때문입니다.

 

enum OS {
  Window = 'win',
  IOS = 'ios',
  Android = 'and'
}

console.log(OS[Window]);	// win
enum이면서 값을 문자열로 줬다면 단방향 맵핑만 가능합니다.

 

//✳️ enum을 컴파일하면 아래와 같은 형태로 됩니다.
const OS = {
  Window: 'win',
  IOS: 'ios',
  Android: 'and'
};

let myOS:OS: // 하면 OS 안에 있는 특정 값만 사용할 수 있습니다.
myOS = OS.Window;
console.log(myOS);	// win

 

 

📌 null, undefined

let a:null = null;
let b:undefined = undefined;
null과 undefined로 데이터 타입을 생성하고 싶을 때 기본 형태와 동일합니다.
728x90