Enum
1. ์ด๊ฑฐํ(Enum)์ด๋?
TypeScript์ ์ด๊ฑฐํ(Enum)์ ํน์ ๊ฐ์ ์งํฉ์ ์ ์ํ ๋ ์ฌ์ฉ๋จ.
Enum์ ์ผ๋ฐ์ ์ผ๋ก ์์๊ฐ์ ๋์ ํ์ฌ ์ฌ์ฉ๋๋ฏ๋ก, ํ์ ์คํฌ๋ฆฝํธ์์๋ Enum์ด ๋ง์ด ์ฌ์ฉ
Enum์ ์ฝ๋๋ฅผ ๋์ฑ ๊ฐ๋ ์ฑ ๋๊ฒ ๋ง๋ค์ด์ฃผ๊ณ , ์คํ์ ๊ฐ์ ์ค์๋ฅผ ๋ฐฉ์งํด์ค
JavaScript์์๋ ๊ธฐ๋ณธ์ ์ผ๋ก Enum์ ์ง์ํ์ง ์์ง๋ง, TypeScript์์๋ ๋ฌธ์ํ Enum๊ณผ ์ซ์ํ Enum์ ์ง์ํ๋ฉฐ, ์๋์ ๊ฐ์ ํํ๋ก ์ง์
2. ์ซ์ํ ์ด๊ฑฐํ(Enum)
Enum์ ๋ํดํธ ๊ฐ์ผ๋ก ์ซ์ํ์ ์ฌ์ฉํ๋ฉฐ, ๊ฐ ๊ฐ์ ์๋์ผ๋ก 0๋ถํฐ ์์ํ์ฌ 1์ฉ ์ฆ๊ฐ
์๋์ ๊ฐ์ด ์๋์ผ๋ก ๊ฐ์ ์ง์ ํ ์๋ ์์
Enum ๊ฐ์ ๋ํด ์ฐ์ ์ฐ์ฐ ์ํ๋ ๊ฐ๋ฅ
3. ๋ฌธ์ํ ์ด๊ฑฐํ(Enum)
๋ฌธ์ํ Enum์ Enum์ ๊ฐ์ ์ ๋ถ ๋ค ํน์ ๋ฌธ์ ๋๋ ๋ค๋ฅธ Enum ๊ฐ์ผ๋ก ์ด๊ธฐํํด์ผ ํจ
๋ฌธ์ํ Enum์๋ ์ซ์ํ Enum๊ณผ๋ ๋ค๋ฅด๊ฒ auto-incrementing์ด ์์.
๋๋ฒ๊น ์ ์ซ์ํ Enum์ ๊ฐ์ ๋ถ๋ช ํํ๊ฒ ๋์ฌ ๋๊ฐ ์์ง๋ง ๋ฌธ์ํ Enum์ ํญ์ ๋ช ํํ ๊ฐ์ด ๋์ ์ฝ๊ธฐ ํธํจ.
๋ฌธ์์ด ๊ธฐ๋ฐ์ Enum์ ์ฃผ๋ก ์ธ๋ถ์์ ๊ฐ์ ธ์จ ๊ฐ์ TypeScript์์ ๋ค๋ฃจ๊ธฐ ์ํด์ ์ฌ์ฉ๋จ (e.g. HTTP ์์ฒญ ๋ฐฉ์์ ๋ํ๋ด๋ Enum ์ ์ ๊ฐ๋ฅ)
HTTP ์์ฒญ ๋ฐฉ์์ ์ง์ ํ ๋๋ HttpMethod.Post์ ๊ฐ์ด Enum ๊ฐ์ ์ฌ์ฉํจ.
์ด๋ ๋ฏ Enum ์ฌ์ฉ ์ ์คํ์ ๊ฐ์ ์ค์ ๋ฐฉ์ง ๊ฐ๋ฅ, ์ฝ๋์ ๊ฐ๋ ์ฑ๊ณผ ์์ ์ฑ์ ๋์ผ ์ ์์.
4. ์ญ ๋งคํ (Reverse mappings)
์ญ ๋งคํ์ ์ซ์ํ Enum์๋ง ์กด์ฌํ๋ฉฐ, ๋ฌธ์ํ Enum์๋ ์กด์ฌํ์ง ์๋ ํน์ง์.
์ด๊ฑฐํ์ ํค(key)๋ก ๊ฐ(value)์ ์ป์ ์ ์๊ณ & ๊ฐ(value)์ผ๋ก ํค(key)๋ฅผ ์ป์ ์๋ ์์.
Last updated