Frontend/TypeScript

[TypeScript] 기본형

okojin 2024. 8. 13. 15:43

기본형

let age:number = 30; // 숫자
let isAdult:boolean = true; // true, false
let a:number[] = [1, 2 ,3]; // 숫자 배열
let a2:Array<number> = [1, 2, 3]; // 숫자 배열

let week1:string[] = ['mon', 'tue', 'wed']; // 문자열 배열
let week2:Array<string> = ['mon', 'tue', 'wed']; // 문자열 배열

week1.push(1); // 숫자 추가하면 에러 발생

튜플

let b:[string, number]; // 길이가 2인 배열, [문자열, 숫자]
b = ['z', 1];
b = [1, 'z']; // 에러 발생

b[0].toLowerCase();
b[1].toLowerCase(); // number에는 toLowerCase 불가능

void, never

void

  • 아무것도 반환하지 않을 때 사용

never

  • 에러를 반환하거나 영원히 끝나지 않는 함수에 사용
  • 그 어떤 타입도 아님(문자열이나, 숫자로 초기화하면 에러 발생)
function sayHello():void{
    console.log('hello');
}

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

function isLoop():never{
    while (true) {
        // do something
    }
}

enum

  • 비슷한 값들끼리 묶어줄 때 사용
  • (개발자 사이에서는 enum보다는 union type을 지향하는편임)
/*
enum Os {
    Window, // 0
    Ios,    // 1
    Android // 2
}
*/

/*
enum Os {
    Window = 3,   // 3
    Ios,          // 4
    Android = 10, // 10
    Linux         // 11
}

console.log(Os[4]) // Ios
console.log(Os['Ios']) // 4
*/

enum Os {
    Window = 'win',
    Ios = 'ios',
    Android = 'and'
}

let myOs:Os; // Os에 있는 값만 입력 가능

myOs = Os.window;

null, undefined

let a:null = null;
let b:undefined = undefined;