๐ย Reference
๐ย Chapter
Symbol
branded types
- branded types
- ๋ธ๋๋ ํ์
- ๋ธ๋๋๋ ํ์
- Nominal Types
- Nominal: ์์ธก๋๊ฑฐ๋ ์ง์ ๋ ๊ฐ.
- ์ ์ฌ ๋ช
๋ชฉ ํ์
- Flavoring
- ์์ ํ์
(string, number ๋ฑ)์ ์ปดํ์ผ ํ์์ฉ ๊ฐ์ง ๋ผ๋ฒจ(Brand)์ ๋ถ์ฌ, ๊ตฌ์กฐ๊ฐ ๊ฐ๋๋ผ๋ ์๋ก ๋ค๋ฅธ ํ์
์ผ๋ก ์ทจ๊ธ๋๋๋ก ๋ง๋๋ ๊ณ ๊ธ TypeScript ๊ธฐ๋ฒ์ด๋ค.
- TypeScript๋ ๊ธฐ๋ณธ์ ์ผ๋ก ๊ตฌ์กฐ์ ํ์ดํ(Structural Typing)์ ๋ฐ๋ฅด๊ธฐ ๋๋ฌธ์, ๋ด๋ถ ํํ๊ฐ ๊ฐ์ผ๋ฉด ๊ฐ์ ํ์
์ผ๋ก ์ธ์ํ๋ค.
- ํ์ง๋ง ๋น์ฆ๋์ค ๋ก์ง ์ "ID์ ์ด๋ฉ์ผ์ ๋ ๋ค string์ด์ง๋ง ์๋ก ์์ด๋ฉด ์ ๋๋ค" ๊ฐ์ ์ํฉ์ด ์๋ค. ์ด๋ฅผ ํด๊ฒฐํด ์ฃผ๋ ๊ฒ์ด ๋ธ๋๋๋ ํ์
์ด๋ค.
- ๋ฐํ์ ๋น์ฉ(์ค๋ฒํค๋)์ 0์ผ๋ก ์ ์งํ๋ฉด์, ์ปดํ์ผ ํ์์ ์์ ํ์
๊ฐ์ ํผ์ฉ์ ์๋ฒฝํ ๋ง์ ์์ ์ฑ์ ๊ทน๋ํํ๋ TypeScript์ ๊ธฐ๋ฒ
- TypeScript์์ โ๋ฌธ์์ด์ธ๋ฐ ์๋ฌด ๋ฌธ์์ด์ด๋ ๋ชป ๋ฃ๊ฒ ๋ง๊ณ ์ถ์ ๋โ ์ ๋ง ๋ง์ด ์ฐ๋ ํจํด์ด๋ค.
- Branded Type์ TypeScript์ ๊ธฐ๋ณธ ํ์
์ โ๊ฐ์ง ๊ผฌ๋ฆฌํโ๋ฅผ ๋ถ์ฌ์, ๊ฐ์
string์ด์ด๋ ์๋ก ๋ค๋ฅธ ์๋ฏธ์ ํ์
์ฒ๋ผ ๊ตฌ๋ถํ๋ ๋ฐฉ๋ฒ์ด๋ค.
- TypeScript์์ ๊ฐ์ ์์ ํ์
์ด๋ผ๋ ์๋ฏธ๊ฐ ๋ค๋ฅด๋ฉด ์๋ก ์์ด์ง ์๊ฒ ๋ง๋๋ ํ์
์์ ์ฅ์น
ํ์ํ ์ด์