JavaScript Dev./TypeScript

JavaScript Dev./TypeScript

TypeScript - Utility Types

// keyof interface User { id: number; name: string; age: number; gender: 'M' | 'F'; } type UserKey = keyof User; // 'id' | 'name' | 'age' | 'gender' const uk: UserKey = 'age'; keyof 사용 // Partial interface User { id: number; name: string; age: number; gender: 'M' | 'F'; } let admin: Partial = { id: 1, name: 'Bob', }; Partial은 모든 속성에 대해서 optional을 걸어준다. // Required interface User { id: number; na..

JavaScript Dev./TypeScript

TypeScript - Generics

// Generic function getSize(arr: T[]): number { return arr.length; } const arr1 = [1, 2, 3]; getSize(arr1); // 3 const arr2 = ['a', 'b', 'c']; getSize(arr2); // 3 을 이용해 사용하는 쪽에서 Type을 지정해준다. interface Mobile { name: string; price: number; option: T; } const m1: Mobile = { name: 's21', price: 1000, option: { color: 'red', coupon: false, }, }; const m2: Mobile = { name: 's20', price: 900, option: ..

JavaScript Dev./TypeScript

TypeScript - 리터럴, 유니온 / 교차 타입

// 리터럴 타입 const userName1 = "Bob"; let userName2: string | number = "Tom"; userName2 = 3; userName1같이 하나의 문자열을 넣은 형태로 정의되어 있는 타입을 문자열 리터럴 타입이라 한다. type Job = 'police' | 'developer' | 'teacher'; interface User { name: string; job: Job; } const user: User = { name: 'Bob', job: 'developer', }; interface HighSchoolStudent { name: string; grade: 1 | 2 | 3; // union type } // union types interface Car..

JavaScript Dev./TypeScript

TypeScript - 함수

function add(num1: number, num2: number): number { return num1 + num2; /* console.log(num1 + num2) ==> 함수에 number로 반환값 정의가 있으므로 error 발생 이렇게 쓸 경우 반환 값에 void를 입력해주면 된다.*/ } function isAdult(age: number): boolean { return age > 10; } 위에 예시는 일반적인 방법이다. function hello(name: string) { return `Hello, ${name || 'world'}`; } const result = hello(); // error 발생 name이 없을 경우 'world'가 출력되게 코드를 작성했지만 typescr..

JavaScript Dev./TypeScript

TypeScript - 인터페이스(interface)

let user:object; user = { name: 'John', age: 30 } console.log(user.name) 여기서 console.log(user.name) 입력하면 error가 발생하게 된다. 그 이유는 객체 내의 특정 속성 값(property)의 정의가 없기 때문이다. 이때 interface를 이용해서 나타내면 된다. type Score = 'A' | 'B' | 'C' | 'F'; interface User { name : string; age : number; gender? : string; readonly birthYear : number; [grade: number] : string; // number를 key로 받고 string을 value로 받는다. // [grade: ..

JavaScript Dev./TypeScript

TypeScript - 기본 타입

Boolean: true 또는 false 값을 가지는 논리적인 데이터 타입 Number: 부동 소수점 숫자뿐만 아니라 정수 및 실수 값을 포함하는 숫자 데이터 타입 String: 문자의 시퀀스. 단일 따옴표나 쌍따옴표로 둘러싸여 있는 타입 Array: 동일 한 유형의 요소들의 순서 있는 집합 Tuple: 고정된 수의 요소로 구성된 배열. 각 요소의 유형은 미리 정의되어 있다. Enum: 숫자 또는 문자열 값 집합에 대한 열거형 타입 Any: 모든 유형의 값을 나타낼 수 있는 타입. 타입 검사를 우회할 때 사용 Void: 어떠한 유형도 없는 것. 주로 함수가 반환하지 않는 경우에 사용 Null or Undefined: 각각 값이 없음을 나타내는 타입 Never: 절대 발생하지 않는 값의 타입을 나타냄. 예..

Yoonsoo
'JavaScript Dev./TypeScript' 카테고리의 글 목록