Enum
Enum(์ด๊ฑฐํ)์ด๋?
์๋ฐ์คํฌ๋ฆฝํธ์ ์๋ ํ์ ์ด์ง๋ง, ์๋ฐ์คํฌ๋ฆฝํธ์ ๊ฐ์ผ๋ก ์ฌ์ฉํ ์ ์๋ ํ์
์ฌ๋ฌ ์์๋ฅผ ๋์ดํ๋ ๋ชฉ์ ์ผ๋ก ์ฌ์ฉ๋๋ค.
enum
์ด๋ผ๋ ์์ฝ์ด๋ก ์ ์ธํ๋ค.
enum์ ์๋ฐ์คํฌ๋ฆฝํธ ์ฝ๋๋ก ๋ณํ๋๋ค.
enum์ ๋ฉค๋ฒ ์์๋๋ก 0๋ถํฐ ์ซ์๊ฐ ํ ๋น๋๋ค.
์์์ ์ซ์๋ฅผ ํ ๋นํ๊ฒ ๋๋ฉด ๊ทธ ๋ค์ ๋ฉค๋ฒ์ ๊ฐ์ ์ด์ ๊ฐ์ +1๋ก ํ ๋น๋๋ค.
๋ฌธ์์ด๋ ํ ๋น ๊ฐ๋ฅํ๋ฐ, ํ ๋ฉค๋ฒ๋ฅผ ๋ฌธ์์ด๋ก ํ ๋นํ๋ฉด ๊ทธ ๋ค์ ๋ฉค๋ฒ๋ค์ ์ ๋ถ ์ง์ ๊ฐ์ ํ ๋นํด์ผ ํ๋ค.
enum ํ์ ์ ์์ฑ์ ๊ฐ์ผ๋ก ์ฌ์ฉ ๊ฐ๋ฅํ๋ค.
enum์ ๊ฐ ๋ณด๋ค ํ์ ์ผ๋ก ์ฌ์ฉ๋๋ ๊ฒฝ์ฐ๊ฐ ๋ ๋ง๋ค.
ํ์ ์ผ๋ก ์ฌ์ฉํ๊ฒ ๋๋ฉด ๋ฉค๋ฒ์ ์ ๋์จ๊ณผ ๋น์ทํ ์ญํ ์ ํ๋ค.
๋จ์
Enum์ ์์ง ๋ถ์์ ํ๋ค.
Enum์ ์ฌ์ฉํ๋ฉด
Tree-shaking
์ด ๋์ง ์๋๋ค.JavaScript์ ์กด์ฌํ์ง ์๋ ๊ฒ์ ๊ตฌํํ๊ธฐ ์ํด TypeScript ์ปดํ์ผ๋ฌ๋ IIFE(์ฆ์ ์คํ ํจ์)๋ฅผ ํฌํจํ ์ฝ๋๋ฅผ ์์ฑํ๊ฒ ๋๋๋ฐ IIFE๋ฅผ '์ฌ์ฉํ์ง ์๋ ์ฝ๋'๋ผ๊ณ ํ๋จํ ์ ์์ด์ tree-shaking์ด ์ผ์ด๋์ง ์๋๋ค
Tree-shaking์ด๋ ์ฌ์ฉํ์ง ์๋ ์ฝ๋๋ฅผ ์ญ์ ํ๋ ๊ธฐ๋ฅ์ ๋งํ๋ค. ์ต์ข ๋ฒ๋ค ํฌ๊ธฐ๋ฅผ ์ค์ฌ ์ต์ ํ ๊ฐ๋ฅ
Enum ํ์
์ ์ฌ์ฉํ๋, ์๋ฐ์คํฌ๋ฆฝํธ ์ฝ๋๋ก ์์ฑ๋์ง ์๊ฒ ํ๋ ค๋ฉด const enum
์ ์ฌ์ฉํ๋ฉด ๋๋ค.
๊ทธ๋ ๋ค๋ฉด ์ธ์ ์ฌ์ฉํด์ผ ์ข์๊น?
ํ๊ทธ๋ ์ ๋์จ(๋ธ๋๋ฉ)์ ์ฌ์ฉํ๋ฉด ์ข๋ค.
๋จ, ๊ฐ์ enum์ ๋ฉค๋ฒ์ฌ์ผ ์๋ก ๊ตฌ๋ถ๋๋ค. ๋ค๋ฅธ enum์ ๋ฉค๋ฒ๋ผ๋ฆฌ๋ ๊ตฌ๋ถ๋์ง ์์ ์ ์๋ค.
Last updated