본문 바로가기

프로그래밍 언어5

[타입스크립트] 제네릭 제네릭 정의 제네릭(Generics)이란 타입을 마치 함수의 파라미터처럼 사용하는 것을 의미한다. 제네릭을 사용하면 클래스나 함수 인터페이스를 다양한 타입으로 재사용할 수 있다. 예를 들어, 다음과 같은 함수를 실행하려고 한다. function getSize(arr): number { return arr.length; } 위의 함수는 리스트의 길이를 반환해주는 함수이다. 만약 리스트의 요소들이 숫자형, 문자형 등 다양한 타입들로 되어 있다면 어떻게 처리해주어야 할까? function getSize(arr: any): number { return arr.length; } getSize([1, 2, 3]); getSize(["a", "b", "c"]); getSize([true, false, true]); .. 2024. 1. 17.
[타입스크립트] 리터널 타입과 유니온 타입, 교차 타입 1. 리터널 타입(Literal Types) 리터널 타입은 const name = "Tom" 과 같이 정해진 값을 가진 것을 리터널 타입이라고 합니다. 문자열 리터널 타입 만약 프로퍼티 값을 지정된 값으로 주고 싶다면, 타입을 선언해 값을 제한할 수 있습니다. interface User { name: string; drink: "coffee" | "coke" | "juice"; } // ✅ const user1: User = { name: "Bob", drink: "coffee" }; // ❌ const user2: User = { name: "Tom", drink: "water" // error }; 숫자형 리터널 타입 type Age = 14 | 15 | 16; interface Student { n.. 2024. 1. 15.
[타입스크립트] interface 활용 이번 글은 타입스크립트에서 interface를 정리해보겠습니다. 1. interface 정의 interface는 타입 체크와 일관성을 가지기 위해 변수, 함수, 클래스에 사용되며, 여러가지 타입을 갖는 프로퍼티로 이루어진 타입을 정의할 때 사용됩니다. 2. 변수와 interface interface가 변수의 타입으로 사용할 때, interface로 선언한 변수는 해당 interface를 준수해야 합니다. 준수하지 않을 시, 에러가 발생하게 됩니다. interface User { name : string; age : number; } // ✅ let user1: User = { name : "minsu", age : 30 } // gender는 interface에 정의하지 않았으므로 error let us.. 2023. 12. 21.
[타입스크립트] 기본 타입 이번 글은 타입스크립트에 기본 타입들을 정리해보겠습니다. 1. 숫자 (Number) 타입스크립트의 숫자형은 모든 숫자(부동 소수 값)에 number라는 타입을 붙혀 사용합니다. 변수선언 변수이름: number = 값 (숫자); let num1: number = 1; let num2: number = 1.1; let num3: number = -1; 2. 문자열 (String) 다음은 문자열 타입입니다. 변수선언 변수이름: string = 값 (문자열); let name: string = "gildong" 3. 불리언(Boolean) 다음은 참, 거짓 값을 가지는 불리언 타입입니다. 변수선언 변수이름: boolean = 값 (true / false); let isOk: boolean = true; let .. 2023. 12. 18.