설명할수 없으면 아무것도 아니다

매일 조금씩 쓰면서 뭘 했는지 기록하고 좋았던 것과 나빴던 것을 바탕으로 새 글을 수정합니다.

typescript 5

타입스크립트 generic 제약조건, 디자인패턴 - constraints, keyof, Factory pattern

📝 제약조건(Constraints / keyof) 제네릭에는 원하지 않는 속성에 접근하는 것을 막기 위해 extends 키워드를 이용해 제약 조건(Constraints)을 사용할수 있다. 1. Constraints: 특정 타입들로만 동작하는 Generic 함수를 만들 때 사용한다. 2. Keyof: 두 객체를 비교할 때 사용한다. ✔ Constraints 제네릭 제약조건은 존재하지 않는 속성에 접근하는 것을 막기 위해 사용한다. 키워드는 extends이며 특정 타입들로만 동작하는 제네릭 함수를 만들고 싶을 때 사용한다. Generic T에 제약 조건을 설정할 때 사용한다. (문자열 or 숫자) 제약 조건을 벗어나는 타입을 선언하면 에러가 발생한다. extends 키워드를 통해 string과 number에..

타입스크립트 UnionType, Intersection Type

기존 타입, 인터페이스의 변경은 이미 그 타입을 사용하고 있는 코드에 모두 똑같은 변경을 가해줘야한다. 만약 해당 타입을 쓰는 모든 코드에 변경을 가하지 않고 특정 코드만 자유롭게 타입을 확장하고 싶을 땐 인터셉션 타입과 유니언 타입을 사용하면 된다. 🤓 Intersection ▶ And A타입이면서 B타입(A&B) Union ▶ Or A타입, B타입 둘 중 하나(A|B) 📝 Union Type 유니언 타입은 여러 타입 중 하나가 올 것이라고 가정할 때 사용한다. 유니언 타입은 세로 막대바를 사용 '|' 유니언 타입을 사용하면 TypeA, TypeB가 있을 때 A | B는 A와 B 둘중 하나라는 의미를 나타냄 one:string이거나 number 둘중 하나 Union과 Generic 공통점은 모두 여러 ..

타입스크립트 인터페이스(Interface)

📝 인터페이스란 코드 내 계약(약속, 규칙)을 정의하는 강력한 방법이다. 인터페이스는 일반적으로 변수, 함수, 클래스에 타입 체크를 하기 위해 사용된다. 추상클래스와 동일하게 인터페이스도 직접 인스턴스를 생성할 수 없고, 모든 메소드가 추상 메소드이다. 인터페이스에서는 추상클래스의 추상 메소드와 달리 abstract 키워드는 사용하지 않는다. ES6는 인터페이스를 지원하지 않지만 TypeScript는 인터페이스를 지원한다. 예를 들면 아래 elice 변수는 Person 인터페이스의 계약을 준수해야만 한다. interface Person { name: string, age: number } let elice: Person = {name:"hyonie", age:20}; 📋 인터페이스를 사용하는 이유 타입의..

타입스크립트 유틸리티 타입(utillity type)

📋 타입을 정의하는 방법(Type alias) let p1: {name:string, age:number} = { name: "hyonie", age: 20 }; 타입을 직접 정의할 수 있지만, 매번 타입을 정의하는것 번거로운 일이기 때문에 아래와 같이 타입자체에 이름을 붙여 변수를 만들 수있다. type Human = { name: string; age: number; } let p2:Human = {name:"hyonie", age:20}; type Human 안에 name, age를 프로퍼티라고 한다. 🤔 유틸리티 타입이란 이미 정해 놓은 타입을 변환하고 싶을 때 사용하면 좋은 타입이다. 따라서 유틸리티 타입을 이용하면 기존의 타입을 이용해 새로운 타입을 만들수 있다. (인터페이스도 유틸리티 타입을..

[타입스크립트] typescript 필수 문법 정리

🎯 목표 1. 타입을 활용하여 함수 클래스 코드를 작성할 수 있다. 2. 타입스크립트에 추가되는 문법을 알수 있다. 3. 타입스크립트에서 디자인 패턴을 적용할수 있다. 설치 npm install -g typescript 변환 터미널에서 tsc -w 입력해두면 자동변환이 된다. tsc -w 📝 타입스크립트 개요 📕 타입스크립트란? Microsoft에서 개발한 오픈소스 언어 자바스크립트의 상위 집합 자바스크립트의 한계 해결 자바스크립트와 타입스크립트의 호환성 📕 타입스크립트를 쓰는 이유 ✔ 동적 타입을 정적으로 선언할 수 있다. // 자바스크립트 let a; a = 1; a = 'b'; // 타입스크립트 let a : number; a = 1; a = 'b'; // Type 'string' is not as..

카테고리 없음 2023.03.23