๐
enum์ด๋?
December 17, 2022
enum์ด๋?
- ์ด๊ฑฐํ ๋ณ์๋ก ์ ์๋ฅผ ํ๋๋ก ํฉ์น ๋ ํธ๋ฆฌํ ๊ธฐ๋ฅ
- ์์์ ์ซ์๋ ๋ฌธ์์ด์ ํ ๋นํ ์ ์์ผ๋ฉฐ, ํ๋์ ์ ํ์ผ๋ก ์ฌ์ฉํด์ ๋ฒ๊ทธ๋ฅผ ์ค์ผ ์ ์์
- TypeScript๊ฐ ์์ฒด์ ์ผ๋ก ๊ตฌํํ๋ ๊ธฐ๋ฅ
// ์๋ฌด๊ฒ๋ ์ง์ ํ์ง ์์ ๊ฒฝ์ฐ์๋ 0๋ถํฐ ์ซ์๋ฅผ ๋งค๊ธด๋ค.
enum MOBILE_OS {
IOS, // 0
ANDROID, // 1
}
// ์์์ ์ซ์๋ ๋ฌธ์์ด์ ํ ๋นํ ์๋ ์๋ค.
enum MOBILE_OS {
IOS = 'iOS',
ANDROID = 'Android',
}
// ์๋์ ๊ฐ์ด ์ ํ์ผ๋ก ์ฌ์ฉํ ์๋ ์๋ค.
const os: MOBILE_OS = MOBILE_OS.IOS;
function detectOSType(userAgent: string): MOBILE_OS {
// ...
}
- JavaScript์์๋ ์ฌ์ฉํ ์ ์๊ธฐ ๋๋ฌธ์ ์๋์ ๊ฐ์ด ๊ฐ์ฒด๋ฅผ ์ฌ์ฉํ๋ ์ฝ๋๋ฅผ ์์ฑํ๊ฒ ๋จ
const MOBILE_OS = {
IOS: 'iOS',
ANDROID: 'Android',
};
console.log(MOBILE_OS.IOS); // iOS
- enum์ ํธ๋ฆฌํ ๊ธฐ๋ฅ์ด์ง๋ง TypeScript๊ฐ ์์ฒด์ ์ผ๋ก ๊ตฌํํ๊ธฐ ๋๋ฌธ์ Tree-shaking์ด ๋์ง ์๋๋ค.