본문 바로가기
728x90

TypeScript17

[TypeScript] 타입스크립트 인터페이스 확장 1. 인터페이스 확장인터페이스는 extends 키워드로 확장할 수 있습니다.자바나 자바스크립트의 상속과 비슷하다고 할 수 있겠네요.interface Person { name: string; age: number;}interface HongGilDong extends Person { gender: string;}const p: HongGilDong = { name: "홍길동", age: 30, gender: "남",};console.log(p.name); // 홍길동console.log(p.age); // 30console.log(p.gender); // 남 1-1. 프로퍼티 재정의재정의하는 것도 가능합니다.중요한 것은 재정의하는 타입은 원래 타입의 서브타입이 되어야 합니다.interface P.. 2025. 5. 26.
[TypeScript] 타입스크립트 인터페이스 1. 인터페이스인터페이스는 타입과 비슷합니다. 타입인터페이스확장& 연산자로 타입 결합extends로 다른 인터페이스 상속 가능선언 병합XO (같은 이름 인터페이스는 자동 합침)유연성유니온, 튜플 등 더 복잡한 타입 표현 가능객체 타입에 적합 1-1. 선택적 프로퍼티age에 선택적 속성을 주겠습니다.interface Person { name: string, age?: number};const person: Person = { name: "a"} 1-2. 읽기 전용 프로퍼티프로퍼티를 읽기 전용으로 사용할 수 있습니다.interface Person { name: string, readonly age?: number};const person: Person = { name: "a", age: 20}p.. 2025. 5. 26.
[TypeScript] 타입스크립트 오버로딩 1. 함수 타입 호환성호환성이란 함수 타입이 다른 함수 타입으로 사용할 수 있는지를 말합니다. 1-1. 반환값 타입 호환type A = () => number;type B = () => 10;let a: A = () => 10;let b: B = () => 10;a = b; // ob = a; // x A 반환값 타입이 B 반환값 타입의 슈퍼타입이면 호환됩니다.A는 Number 타입이고B는 리터털 타입이기 때문에 a = b는 되지만 b = a는 안 됩니다. 1-2. 매개변수 타입 호환type A = (value: number) => void;type B = (value: 10) => void;let a: A = (value) => {};let b: B = (value) => {};a = b // xb =.. 2025. 5. 26.
[TypeScript] 타입스크립트 함수 타입 표현식 1. 함수 타입 표현식type Calc = (a: number, b: number) => number;// 1const add: Calc = (a, b) => a + b; // 2const add: Calc = (a:number, b:number):number => a + b;// 3const add = (a:number, b:number):number => a + b;// 4const add: (a: number, b: number) => number = (a, b) => a + b; Calc 이라는 타입은"두 개의 number 인자를 받아 number를 반환하는 함수" 를 의미합니다.1, 2, 3번이 각각 어떤 차이가 있는지 보겠습니다. 1번은 Calc 타입을 지정했기 때문에 a, b는 자동으로 nu.. 2025. 5. 26.
[TypeScript] 타입스크립트 타입 단언과 타입 가드 1. 타입 단언타입 단언은 다음과 같이 적용할 수 있습니다.A as B A가 B의 슈퍼타입A가 B의 서브타입타입 단언은 위의 두 조건을 만족해야합니다. // never는 모든 타입의 서브타입let str1 = "a" as never;// unknown은 모든 타입의 슈퍼타입let str2 = "a" as unknown;// 에러, 두 가지의 관계가 아님let str3 = "a" as number; 1-1. 빈 객체로 초기화하고 싶을 때type Jacket = { size: string, price: number};let jacket1: Jacket = {}; // 에러let jacket2: Jacket = {} as Jacket;let jacket3 = {} as Jacket;let jacket4 =.. 2025. 5. 26.
[TypeScript] 타입스크립트 타입 추론 1. 타입 추론타입 추론이란 타입이 정의되어 있지 않은 변수의 타입을 자동으로 추론하는 것을 말합니다. let str = "str"console.log(typeof str);// string 타입으로 추론 2. 타입 추론이 가능할 때2-1. 변수초기값의 타입으로 추론됩니다.let no = 10;console.log(typeof no);// number 타입으로 추론 2-2. 구조 분해 할당let [name, age] = ["a", 20];console.log(typeof name);// string 으로 추론console.log(typeof age);// number 로 추론2-3. 함수 반환값반환값을 기준으로 추론합니다.function fn() { return 20;}console.log(typeo.. 2025. 5. 26.
728x90