[TypeScript] TypeScript 공부일지: 함수 오버로딩 [6/12 study]
Frontend/TypeScript2024. 6. 12. 23:25[TypeScript] TypeScript 공부일지: 함수 오버로딩 [6/12 study]

TypeScript 공부일지: 함수 오버로딩   ❗️주의지극히 개인 공부한 내용을 올린 거기 때문에 이해하지 못할 수도 있음  ❗️함수 오버로딩/** * 함수 오버로딩 (JS에서는 지원 안하고 TS에서만 지원함) * - 함수를 매개변수의 개수나 타입에 따라서 여러가지 버전으로 만드는 문법 * - 하나의 함수 func * - 모든 매개변수의 타입 number * - ver1. 매개변수가 1개 -> 이 매개변수에 20을 곱한 값 출력 * - ver2. 매개변수가 3개 -> 이 매개변수를 다 더한 값을 출력 */// TS에서 함수 오버로딩을 구현하려면 첫번째로 할 게 있음// 이 함수에 어떤 버전들이 있는지 알려줘야 함// 구현부 없이 , 중괄호없이 그냥 계속 쓰면됨// 이렇게 구현부 없이 선언식만 쓴것을 -..

[TypeScript] TypeScript 공부일지: 타입 호환성 [6/12 study]
Frontend/TypeScript2024. 6. 12. 23:24[TypeScript] TypeScript 공부일지: 타입 호환성 [6/12 study]

TypeScript 공부일지: 타입 호환성   ❗️주의지극히 개인 공부한 내용을 올린 거기 때문에 이해하지 못할 수도 있음  ❗️함수 타입 호환성/** * 함수 타입의 호환성 * 특정 함수 타입을 다른 함수 타입으로 취급해도 괜찮은가를 판단하는 말 * 함수 타입 호환성을 판단할 때 체크리스트 2가지 (2가지 모두 만족해야 두 타입이 만족된다고 할 수 있음) * 1. 반환값의 타입이 호환되는지 * 2. 매개변수의 타입이 호환되는지 */// 기준1. 반환값의 타입이 호환되는지type A = () => number;type B = () => 10;let a: A = () => 10; // 반환값 number 타입let b: B = () => 10; // 반환값 number literal 타입a = b; // ..

[TypeScript] TypeScript 공부일지: 타입 표현식, 호출 시그니쳐 [6/12 study]
Frontend/TypeScript2024. 6. 12. 23:22[TypeScript] TypeScript 공부일지: 타입 표현식, 호출 시그니쳐 [6/12 study]

TypeScript 공부일지: 타입 표현식, 호출 시그니쳐    ❗️주의지극히 개인 공부한 내용을 올린 거기 때문에 이해하지 못할 수도 있음  ❗️함수 타입 표현식 (fuction type espression)/** * 함수 타입 표현식 (function type expression) */// 이렇게 마치 타입별칭을 이용해서 JS의 화살표 함수를 만들듯이 타입을 타입별칭으로 따로 정의를 할 수 있음// 타입별칭을 이용해 함수의 타입을 별도로 정의하는 문법을 - 함수 타입 표현식 이라 함// 인터넷에서는 이 문법을 호출 시그니쳐 or 함수 시그니쳐라고 부름// 엄밀히 말하면 공식 문서에서는 함수 타입 표현식이라고 부르고 있음type Operation = (a: number, b: number) => num..

[TypeScript] TypeScript 공부일지: 함수 타입 정의 [6/12 study]
Frontend/TypeScript2024. 6. 12. 23:20[TypeScript] TypeScript 공부일지: 함수 타입 정의 [6/12 study]

TypeScript 공부일지: 함수 타입 정의    ❗️주의지극히 개인 공부한 내용을 올린 거기 때문에 이해하지 못할 수도 있음 /** * 함수 타입 정의 */// 함수를 설명하는 가장 좋은 방법// 어떤 매개변수를 받고, 어떤 결과값을 반환하는지 이야기// 어떤 [타입의] 매개변수를 받고, 어떤 [타입의] 결과를 반환하는지 이야기function func(a: number, b: number): number { // 리턴문의 타입은 어짜피 초기값을 기준으로 타입추론하기 때문에 없애도 상관없음 지금 상황에서는 return a + b;}/** * 화살표 함수의 타입을 정의하는 방법 */const add = (a: number, b: number): number => a + b;/** * 함수의 매개변수 ..

[TypeScript] TypeScript 공부일지: 서로소 유니온 타입 [6/7 study]
Frontend/TypeScript2024. 6. 7. 16:21[TypeScript] TypeScript 공부일지: 서로소 유니온 타입 [6/7 study]

TypeScript 공부일지: 서로소 유니온 타입   ❗️주의지극히 개인 공부한 내용을 올린 거기 때문에 이해하지 못할 수도 있음  ❗️서로소 유니온 타입이란? - 교집합이 없는 타입들로만 만든 유니온 타입을 말함 - ex) string, number는 교집합이 없음 수학에서는 이런 걸 서로소 집합 이라고 함 - string | number 이런걸 서로소 유니온 타입이라고 부름 /** * 서로소 유니온 타입 * 교집합이 없는 타입들로만 만든 유니온 타입을 말함 * ex) string, number는 교집합이 없음 수학에서는 이런 걸 서로소 집합 이라고 함 * string | number 이런걸 서로소 유니온 타입이라고 부름 */type Admin = { tag: "ADMIN"; name: string..

[TypeScript] TypeScript 공부일지: 타입 좁히기 [6/7 study]
Frontend/TypeScript2024. 6. 7. 16:15[TypeScript] TypeScript 공부일지: 타입 좁히기 [6/7 study]

TypeScript 공부일지: 타입 좁히기    ❗️주의지극히 개인 공부한 내용을 올린 거기 때문에 이해하지 못할 수도 있음 ❗️타입 좁히기 조건문 등을 이용해 넓은타입에서 좁은타입으로 타입을 상황에 따라 좁히는 방법을 이야기 /** * 타입 좁히기 * 조건문 등을 이용해 넓은타입에서 좁은타입으로 * 타입을 상황에 따라 좁히는 방법을 이야기 */// value => number : toFixed// value => string : toUpperCasefunction func(value: number | string) { // 마치 아래의 조건문이 number타입 값 이외에는 중괄호 내부로 들어갈 수 없도록 가드한다고해서 // TS에서는 타입 가드(Type Guard)라고 부름 if (typeof v..

[TypeScript] TypeScript 공부일지: 타입 단언 [6/7 study]
Frontend/TypeScript2024. 6. 7. 16:11[TypeScript] TypeScript 공부일지: 타입 단언 [6/7 study]

TypeScript 공부일지: 타입 단언  ❗️주의지극히 개인 공부한 내용을 올린 거기 때문에 이해하지 못할 수도 있음 ❗️타입 단언/** * 타입 단언 */type Person = { name: string; age: number;};// 아래와 같이하면 Person 타입이 지금 초기화 값인 빈 객체를 기준 값으로 추론되어 버리기 때문에// person 변수의 타입이 그냥 빈 객체로 추론되어 버림// 그래서 name 과 age 프로퍼티가 없다는 경고가 나옴// let person = {};// person.name = "이정환";// person.age = 27;// 이렇게 우리 의도와 다르게 변수의 타입이 추론 되어버리기 때문에// 원하는 기능을 만들기 어려울때는 초기화 값의 타입을 단언 해주면 ..

[TypeScript] TypeScript 공부일지: 타입 추론 [6/7 study]
Frontend/TypeScript2024. 6. 7. 16:09[TypeScript] TypeScript 공부일지: 타입 추론 [6/7 study]

TypeScript 공부일지: 타입 추론  ❗️주의지극히 개인 공부한 내용을 올린 거기 때문에 이해하지 못할 수도 있음 ❗️타입 추론이란? - 변수의 초기값을 가지고 타입 추론을 한다. - 함수의 반환값 타입을 추론할 때는 초기화하는 값이 아니라 리턴문 다음에 오는 반환값을 가지고 추론한다. - 만약에 매개변수에 기본값이 설정되어 있다면 기본값이 설정된 매개변수의 타입도 기본값을 기준으로 타입을 추론한다. - 딱봐도 우리가 봐도 타입이 추론되면 당연히 TS도 타입 추론 똑같이 함 /** * 타입 추론 * - 변수의 초기값을 가지고 타입 추론을 한다. * - 함수의 반환값 타입을 추론할 때는 초기화하는 값이 아니라 리턴문 다음에 오는 반환값을 가지고 추론한다. * - 만약에 매개변수에 기본값이 설정되어 있..

[TypeScript] TypeScript 공부일지: 대수 타입 [6/7 study]
Frontend/TypeScript2024. 6. 7. 16:05[TypeScript] TypeScript 공부일지: 대수 타입 [6/7 study]

TypeScript 공부일지: 대수 타입  ❗️주의지극히 개인 공부한 내용을 올린 거기 때문에 이해하지 못할 수도 있음 ❗️대수 타입이란?- 여러개의 타입을 합성해서 새롭게 만들어낸 타입 - 합집합, 교집합 타입이 존재함 /** * 1. 합집합 타입(Union 타입) */let a: string | number | boolean;a = "hello";a = 1;a = true;let arr: (number | string | boolean)[] = [1, "hello", true];type Dog = { name: string; color: string;};type Person = { name: string; language: string;};type Union1 = Dog | Person;let..

image