TypeScript

Exclude์™€ Omit

presentKey 2024. 9. 5. 01:07

๐Ÿ“Œ Exclude

์œ ๋‹ˆ์–ธ ํƒ€์ž…์—์„œ ํŠน์ • ํƒ€์ž…์„ ์ œ๊ฑฐํ•  ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ์œ ํ‹ธ๋ฆฌํ‹ฐ ํƒ€์ž….

์œ ๋‹ˆ์–ธ ํƒ€์ž…์€ ์—ฌ๋Ÿฌ ํƒ€์ž… ์ค‘ ํ•˜๋‚˜๊ฐ€ ๋  ์ˆ˜ ์žˆ๋Š” ๊ฐ’์„ ์˜๋ฏธํ•œ๋‹ค.
type Fruit = 'apple' | 'banana' | 'orange'

type MyFruit = Exclude<Fruit, 'orange'> // 'apple' | 'banana'

MyFruit๋Š” orange๋ฅผ ์ œ์™ธํ•œ apple๊ณผ banana๋ฅผ ํƒ€์ž…์œผ๋กœ ๊ฐ€์ง‘๋‹ˆ๋‹ค.

 

๐Ÿ“Œ Omit

๊ฐ์ฒด ํƒ€์ž…์—์„œ ํŠน์ • ์†์„ฑ์„ ์ œ๊ฑฐํ•œ ์ƒˆ๋กœ์šด ํƒ€์ž…์„ ์ƒ์„ฑํ•˜๋Š” ์œ ํ‹ธ๋ฆฌํ‹ฐ ํƒ€์ž….

type Person = {
  name: string;
  age: number;
  email: string;
};

type PersonName = Omit<Person, 'age' | 'email'>; // { name: string }

PersonName์€ age, email ์†์„ฑ์ด ์ œ๊ฑฐ๋œ { name: string } ํƒ€์ž…์„ ๊ฐ€์ง‘๋‹ˆ๋‹ค.