deep-dive-everything / typescript-with-react

우아한 타입스크립트 with 리액트 스터디
0 stars 0 forks source link

템플릿 리터럴 타입을 사용하여 HeadingTag와 Direction 타입을 구현해주세요. #20

Closed limejin closed 3 weeks ago

limejin commented 1 month ago

📚 161p - 163p 📌 템플릿 리터럴 타입을 사용하여 HeadingTag와 Direction 타입을 구현해주세요.

// 여기에 템플릿 리터럴 타입을 사용하여 HeadingTag와 Direction 타입을 정의하세요

// 예시: const heading: HeadingTag = "h3"; // 올바른 사용 const direction: Direction = "topLeft"; // 올바른 사용 const invalidDirection: Direction = "topCenter"; // 오류 발생해야 함

kwonhygge commented 4 weeks ago

아래와 같이 정의할 수 있습니다.

type HeadingNumber = 1 | 2 | 3 | 4 | 5 | 6;
type Horizontal = "left" | "right";
type Vertical = "top" | "bottom";

type HeadingTag = `h${HeadingNumber}`;
type Direction = Vertical | Horizaontal | `${Vertical}${Capitalize<Horizontal>}`;
hotdog1004 commented 4 weeks ago
// HeadingTag
type HeadingNumber = 1 | 2 | 3 | 4 | 5l
type HeadingTag= `h${HeadingNumber}`;

// Direction 
type Vertical = "top" | "bottom";
type Horizon = "left" | "right";
type Direction = Vertical | `${Vertical}${Capitalize<Horizon>}`;
samseburn commented 3 weeks ago
type HeadingTag = `h${HeadingNumber}`
type Direction = Vertical | `${Vertical}${Capitalize<Horizon>}`
frogk commented 3 weeks ago

type HeadingTag = `h${HeadingNumber}`;

type Direction = Vertical | `${Vertical}${Capitalize<Horizontal>}`;
limejin commented 3 weeks ago
type HeadingTag = `h${HeadingNumber}`;
type Direction = `${Vertical}${Capitalize<Horizontal>}`;