TypeScript-섹션10. 유틸리티 타입- Exclude, Extract, ReturnType (4)

Exclude 타입은 다음과 같이 T로부터 U를 제거하는 타입임.직접 구현하면 다음과 같음.Extract 타입은 다음과 같이 T로부터 U를 추출하는 타입임.직접 구현하면 다음과 같음.ReturnType은 타입변수 T에 할당된 함수 타입의 반환값 타입을 추출하는 타입임.

2025년 7월 15일
·
0개의 댓글
·

TypeScript-섹션10. 유틸리티 타입- Record, Pick, Omit(3)

Pick은 특정 객체 타입에서 일부 프로퍼티만 골라내는 유틸리티 타입임.Omit은 특정 객체 타입에서 일부 프로퍼티만 제외하는 유틸리티 타입임.Record는 키-값 쌍을 가지는 객체 타입을 생성할 때 사용함.

2025년 7월 15일
·
0개의 댓글
·

TypeScript-섹션10. 유틸리티 타입- Partial, Required, Readonly(2)

타입스크립트의 Partial<T>, Required<T>, Readonly<T>는 맵드 타입 기반의 유틸리티 타입으로, 객체 타입의 프로퍼티를 선택적, 필수, 읽기 전용으로 변환함. 이들은 제네릭 + keyof + 맵드 타입의 조합으로 구현할 수 있음.

2025년 7월 15일
·
0개의 댓글
·

TypeScript-섹션10. 유틸리티 타입- 유틸리티 타입 소개(1)

유틸리티 타입은 타입스크립트가 제공하는 특수한 타입 조합 도구임.제네릭, 맵드 타입, 조건부 타입 등을 조합해 자주 쓰이는 형태의 타입을 미리 구현해둔 것임.대표적인 유틸리티 타입으로는 Readonly<T>, Partial<T> 등이 있음.이번 섹션에서는 이

2025년 7월 15일
·
0개의 댓글
·

TypeScript-섹션9. 조건부 타입- infer(2)

infer는 조건부 타입 안에서 특정 타입을 추론할 수 있게 해주는 타입스크립트의 특수 문법임.infer는 보통 조건부 타입 내부에서 사용되며, 추론 가능한 타입이 있을 경우 해당 타입을 바탕으로 분기된 타입 결과를 생성함.대표적인 활용 예시로는 ReturnType&l

2025년 7월 15일
·
0개의 댓글
·

TypeScript-섹션9. 조건부 타입- 분산적인 조건부 타입(1)

조건부 타입에 유니온 타입을 넣으면 각 요소에 대해 조건이 개별로 평가되는 분산 조건부 타입이 작동함.이를 이용해 Exclude, Extract 등 다양한 유틸리티 타입을 직접 구현 가능함.조건부 타입의 타입 변수에 Union 타입이 들어가면, 조건이 각 요소별로 분리

2025년 7월 15일
·
0개의 댓글
·

TypeScript-섹션9. 조건부 타입- 조건부 타입(0)

조건부 타입은 extends와 삼항 연산자(? :)를 활용해 타입을 상황에 따라 다르게 설정할 수 있게 해줌. 특히 제네릭과 함께 사용할 때 매우 강력하며, 값의 타입에 따라 반환 타입을 유연하게 조절할 수 있음. 타입스크립트의 타입 로직에 논리적 분기를 넣을 수 있다

2025년 7월 15일
·
0개의 댓글
·

TypeScript-섹션8. 타입 조작하기- 템플릿 리터럴 타입(4)

템플릿 리터럴 타입은 문자열 패턴을 조합해 새로운 문자열 리터럴 유니온 타입을 만드는 타입스크립트의 타입 조작 기능임. 여러 문자열 유니온 타입을 조합할 때 반복적인 수작업 없이 효율적으로 조합 가능함.템플릿 리터럴 타입은 타입 조작 기능 중 가장 단순한 기능으로, 템

2025년 7월 15일
·
0개의 댓글
·

TypeScript-섹션8. 타입 조작하기-맵드 타입(3)

맵드 타입(mapped type)은 기존 객체 타입을 기반으로 새로운 객체 타입을 유연하게 생성할 수 있는 타입스크립트의 기능임. keyof, 인덱스드 엑세스 타입 등과 결합해 중복 없이 코드를 간결하게 유지할 수 있음.이 맵드 타입은 다음과 같은 결과 타입이 됨:ke

2025년 7월 15일
·
0개의 댓글
·

TypeScript-섹션8. 타입 조작하기-keyof & typeof 연산자(2)

keyof 연산자는 객체 타입에서 모든 프로퍼티 키를 문자열 리터럴 유니온 타입으로 추출함.수동으로 "name" | "age" 같은 키 목록을 명시하지 않고, 타입에서 자동 추출할 수 있어 유지보수에 용이함.keyof는 타입에만 적용 가능하며, 값에는 사용할 수 없음.

2025년 7월 15일
·
0개의 댓글
·

TypeScript-섹션8. 타입 조작하기-인덱스드 엑세스 타입(1)

인덱스드 엑세스 타입은 객체, 배열, 튜플에서 특정 속성의 타입을 추출할 때 사용함.문법은 타입명\["프로퍼티명"] 또는 타입명\[숫자] 형태로 사용함.객체 속성 변경 시 매개변수 타입도 자동 반영 가능함.유효하지 않은 인덱스 사용 시 오류 발생함.배열/튜플의 요소 타

2025년 7월 15일
·
0개의 댓글
·
post-thumbnail

TypeScript-섹션8. 타입 조작하기-타입 조작이란(0)

타입스크립트에서 타입 조작이란 기존 타입(기본 타입, 인터페이스, 타입 별칭 등)을 상황에 따라 동적으로 변형하는 기능을 의미함. 주요 도구로는 인덱스드 엑세스 타입, keyof 타입, 맵드 타입, 템플릿 리터럴 타입 등이 있으며, 제네릭 또한 타입 조작의 일부로 볼

2025년 7월 15일
·
0개의 댓글
·

TypeScript-섹션7. 제네릭-프로미스와 제네릭(6)

Promise<T>는 제네릭 클래스로, resolve의 결과값 타입을 T로 설정할 수 있다.reject의 값은 타입을 지정할 수 없으며, 기본적으로 unknown이다.then() 메서드는 resolve 값을, catch() 메서드는 reject 값을 다룬다.함수의

2025년 7월 15일
·
0개의 댓글
·

TypeScript-섹션7. 제네릭-제네릭 클래스(5)

먼저 제네릭이 아닌 간단한 Number 타입의 리스트를 생성하는 클래스를 정의합니다.StringList도 필요하다면 클래스 정의를 중복하게 됩니다.이렇게 되면 코드 중복이 심하고 유지보수도 어려워집니다.다음과 같이 제네릭을 적용해 다양한 타입의 리스트를 처리할 수 있는

2025년 7월 15일
·
0개의 댓글
·

TypeScript-섹션7. 제네릭-제네릭 인터페이스, 제네릭 타입 별칭(4)

제네릭은 인터페이스, 타입 별칭, 함수 등에 적용 가능제네릭 인터페이스는 다양한 타입을 유연하게 표현할 수 있음인덱스 시그니처, 유니온 타입, 조건 분기, 함수 매개변수 제한 등 실용도가 높음타입 추론은 불가하므로 반드시 타입 인자를 명시해야 함제네릭 인터페이스는 객체

2025년 7월 15일
·
0개의 댓글
·

TypeScript-섹션7. 제네릭-map, forEach 메서드 타입 정의하기(3)

map과 forEach 메서드는 배열의 각 요소에 콜백을 적용하는 대표적인 고차함수map: 반환값을 기반으로 새로운 배열 생성forEach: 반환값 없이 순회 목적으로 사용타입스크립트에서는 제네릭 타입을 사용해 다양한 타입에 대응 가능map의 경우 원본 배열과 다른 타

2025년 7월 15일
·
0개의 댓글
·

TypeScript-섹션7. 제네릭-타입 변수 응용하기(2)

제네릭은 타입의 재사용성과 정확성을 높이기 위해 사용됨타입 변수는 여러 개(T, U 등) 동시에 사용할 수 있음배열, 튜플 등 다양한 타입 구조에 활용 가능extends를 사용하면 타입 변수에 제한(제약 조건)을 걸 수 있음활용 방법에 따라 타입 추론 정확도와 타입 안

2025년 7월 14일
·
0개의 댓글
·

TypeScript-섹션7. 제네릭-제네릭 소개(1)

제네릭(Generic)은 함수, 클래스, 타입 등을 다양한 타입과 함께 동작하도록 만들어주는 기능any나 unknown으로는 타입 안정성을 완전히 확보하기 어려움제네릭을 사용하면 입력된 타입에 따라 반환 타입을 자동으로 지정할 수 있음호출 시 직접 타입을 명시할 수도

2025년 7월 13일
·
0개의 댓글
·

TypeScript-섹션6. 클래스-인터페이스와 클래스(4)

c++, java랑 동일.인터페이스는 클래스가 따라야 할 구조를 명시함implements를 사용해 클래스가 특정 인터페이스를 구현하게 할 수 있음인터페이스에 명시된 필드/메서드는 클래스에서 모두 구현해야 함접근 제어자 public인 필드만 인터페이스 조건을 만족함타입스

2025년 7월 13일
·
0개의 댓글
·

TypeScript-섹션6. 클래스-접근 제어자(3)

c++ 접근 제어자와 거의 동일다른 점은 멤버 변수 앞에 private나 protected를 각각 붙혀서 사용.접근 제어자는 생성자 매개변수에 직접 설정 가능하다.이 경우 필드 선언과 초기화 코드를 생략할 수 있다.접근 제어자는 public, private, prote

2025년 7월 13일
·
0개의 댓글
·