TypeScript
-
타입 별칭TypeScript 2023. 5. 9. 14:31
타입 별칭은 나중에 쉽게 참고 할 수 있게 이름을 부여하는 것과 같다. VSCode에서 프리뷰 상태로 확인하기 편하지만 타입 별칭 보다는 인터페이스를 권장하고 있다. 타입 별칭과 인터페이스의 가장 큰 차이점은 확장 가능 / 불가능 여부다. 인터페이스는 extends로 상속 받아 확장이 가능한 반면, 타입 별칭은 확장이 불가능하다. 타입스크립트 공식 문서에도 가급적이면 타입 별칭 보다는 인터페이스로 선언하기를 권장하고 있다. // 인터페이스의 확장 interface Person { name: string; age: number; } interface Developer extends Person { lang: string; } // 타입 별칭 type Person = { name: string; age: n..
-
인터페이스TypeScript 2023. 5. 9. 09:41
인터페이스는 상호 간에 정의한 약속 혹은 규칙을 의미한다. extends 로 상속을 받아 사용할 수도 있고, // 인터페이스 확장(상속) interface Person { name: string; age: number; } // Person 의 interface 를 상속 받아서 사용할 수 있음 interface Developer extends Person { // name: string; // age: number; lang: string; } const wook: Developer = { lang: 'ts', age: 100, name: '욱' }; 인터페이스에 정의되어 있는 속성을 모두 다 꼭 사용하지 않아도 되는 옵션속성이 있다. name 속성을 넣지 않았지만 에러가 나지 않는다. interface..
-
함수TypeScript 2023. 5. 4. 10:45
// 함수의 파라미터에 타입을 정의하는 방식 function sum(a: number, b: number) { return a + b; } sum(10, 20); // 함수의 반환 값에 타입을 정의하는 방식 function add(): number { return 10; } // 함수에 타입을 정의하는 방식 function total(a: number, b: number): number { return a + b; } // 인자의 개수가 맞지 않으면 에러 total(10, 20, 30, 40); // 함수의 옵셔널 파라미터 function log(a: string, b?: string, c?: string) { } // 물음표를 붙여서 옵셔널 파라미터로 지정해줬기 때문에 // 필요에 따라서 넣을 수도 뺄..
-
기본적인 타입 지정TypeScript 2023. 5. 4. 10:04
// 문자열 const str: string = 'hi'; // 숫자열 const num: number = 100; // 배열 const arr: Array = [1, 2, 3]; const arr: number[] = [1, 2, 3]; const we: string[] = ['anko', 'wook']; // 튜플 - 배열의 각각 인덱스에 타입을 지정하는 것을 튜플 const address: [string, number] = ['seoul', 100]; // 객체 const obj: object = {}; const person: { name: string, age: number } = { name: 'anko', age: 5 }; // 진위값 let show: boolean = true;