목록타입스크립트 (29)
Ted's Codding study
1. 유니온 타입여러 타입 중 하나가 될 수 있는 값을 의미function unionGeneric(value: T) { if (typeof value === 'string') { return value.toLowerCase(); } return value; // string | number}const result1 = unionGeneric('STring');const result2 = unionGeneric(1000);console.log(result1, result2); // string 1000 2. 제네릭 유틸리티 타입타입스크립트에 내장된 일련의 제네릭 타입기존 타입을 변환하거나 조작하는데 사용2-1) Partial: 모든 속성을 선택적으로 만들어줌형태: Partialinterface ..
1. 제네릭의 제약 조건1-1) 제약 조건(Constraints)타입 매개변수가 특정 조건을 만족해야 한다는 것을 명시하는 방법제네릭 타입의 사용 범위를 제한, 특정 속성이나 메서드에 접근 가능 1-2) 제네릭 제약조건의 예시interface Lengthwise { // length 속성을 가지는 인터페이스 length: number;} 제약 조건 사용을 위해 T라는 제네릭 타입이 Lengthwise 인터페이스를, 확장(상속)해야 함length 속성을 포함하는 어떠한 객체든지 인자로 전달 가능function constraints(arg: T): T { // T는 객체 타입(length 속성을 반드시 가지는) console.log(arg.length); // arg 매개변수는 반드시 .length..
1. 제네릭 정의재사용 가능한 컴포넌트(코드 단위)를 만드는데 사용컴포넌트가 처리할 데이터 타입을 미리 지정하지 않고해당 컴포넌트를 사용하는 시점에서 원하는 데이터 타입 지정 가능 2. 제네릭의 필요성코드 중복을 줄임, 재사용 가능한 컴포넌트 생성다양한 타입을 처리하는 함수나 클래스 생성 가능타입 안정성 보장'컴파일' 시점에 타입을 체크'런타임'에서 발생할 수 있는 에러를 방지컴파일(Compile)소스코드를 작성하고 편집하는 과정런타임(Runtime)컴파일 과정을 마친 프로그램이 사용자에 의해 실행되어 동작되어지는 때 3. 제네릭 기본 문법사용할 컴포넌트(변수, 함수, 클래스 등)의 이름뒤에 꺽쇠괄호() 안에 타입 변수를 넣는 것함수나 클래스 등에서 사용할 타입을 명시임의의 키워드를 사용하여 명시, 일반..
객체 지향 프로그래밍에서 자주 사용되는 디자인 패턴 중 하나객체의 생성을 캡슐화하여 클라이언트 코드가 생성되는 객체의 구체적인 타입에 의존하지 않도록 하는 것코드의 유연성을 높이고, 변경에 대한 영향을 최소화 가능1. 팩토리 패턴의 주요 구성 요소1-1) Product생성될 객체들의 공통 인터페이스팩토리는 이 인터페이스를 구현하는 다양한 객체들을 생성 가능1-2) ConcreteProductProduct 인터페이스를 구현하는 구체적인 클래스들1-3) CreatorProduct 객체를 생성하는 메서드(factoryMethod)를 선언하는 인터페이스1-4) ConcreteCreatorCreator 인터페이스를 구현하며, factoryMethod를 오버라이딩하여 ConcreteProduct 인스턴스를 생성 2..
특정 클래스의 인스턴스가 프로그램 내에서 오직 하나만 존재하도록 보장하는 디자인 패턴주로 자원을 공유해야 하는 상황에서 유용일관된 상태를 유지하고 싶을 때 적합데이터베이스 연결이나 로그 파일 핸들러와 같이 시스템 전체에서단 하나만 있어야 하는 리소스를 관리할 때 사용1. 싱글톤 패턴의 구현 방법1-1) 생성자를 비공개로 설정클래스의 외부에서 new 키워드를 사용하여 인스턴스를 생성할 수 없도록 설정 1-2) 클래스 내부에서 인스턴스 생성클래스 자체가 자신의 유일한 인스턴스를 생성하고 관리 1-3) 전역 접근점 제공인스턴스에 접근할 수 있는 정적 메소드(보통 getInstance라고 명명)를 제공필요할 때 인스턴스를 생성하고, 이미 인스턴스가 존재하면 기존 인스턴스를 반환 2. TypeScript에서의 싱..