2023. 7. 26. 14:11ใ๐ค Language/TypeScript
TS์์๋ ๋ค์๊ณผ ๊ฐ์ type์ ์ ๊ณตํ๋ค.
boolean, number, stirng, ๋ฐฐ์ด, ํํ, enum
ํํ(tuple) ?
: ๋ฐฐ์ด์ ๊ฐ์ ํ์
์ element๋ง ๊ฐ์ง ์์์ผ๋ ํํ์ ๋ฐฐ์ด ์์ ์ฌ๋ฌ type์ element๋ฅผ ๊ฐ์ง ์ ์๋ค.
๋ฐฐ์ด์ ๋ช
๋ น์ด๋ค์ ๊ทธ๋๋ก ์ฌ์ฉํ ์ ์๋ค.
enum ??
: ์ด๊ฑฐํ ๋ฐ์ดํฐ ํ์ ์ผ๋ก ๋ฐ์ดํฐ์ ์ฌ์ฉ์๊ฐ ์ง์ ํ ํ์ ์ ๋ถ์ฌํ ์ ์์.
- number, stirng ํ์ ์ ๊ฐ๋ง ํ ๋นํ ์ ์์
- ํ์ฉ ์์
enum UserRole {
ADMIN = "ADMIN",
EDITOR = "EDITOR",
USER = "USER",
}
enum UserLevel {
NOT_OPERATOR, // 0
OPERATOR // 1
}
function checkPermission(userRole: UserRole, userLevel: UserLevel): void {
if (userLevel === UserLevel.NOT_OPERATOR) {
console.log('๋น์ ์ ์ผ๋ฐ ์ฌ์ฉ์ ๋ ๋ฒจ์ด์์');
} else {
console.log('๋น์ ์ ์ด์์ ๋ ๋ฒจ์ด๊ตฐ์');
}
if (userRole === UserRole.ADMIN) {
console.log("๋น์ ์ ์ด๋๋ฏผ์ด๊ตฐ์");
} else if (userRole === UserRole.EDITOR) {
console.log("๋น์ ์ ์๋ํฐ์์");
} else {
console.log("๋น์ ์ ์ฌ์ฉ์๊ตฐ์");
}
}
const userRole: UserRole = UserRole.EDITOR;
const userLevel: UserLevel = UserLevel.NOT_OPERATOR;
checkPermission(userRole, userLevel);
'๐ค Language > TypeScript' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Language/TypeScript] object literal (0) | 2023.07.26 |
---|---|
[Language/TypeScript]๊ฐ๋ณ์ ๋ฐ์ดํฐ ํ์ (0) | 2023.07.26 |
[Language/TypeScript] .d.ts. (0) | 2023.07.26 |
[Language/TypeScript] ์ปดํ์ผ๋ฌ, tsc (0) | 2023.07.26 |
[Language/TypeScript] TypeScript๋?! (1) | 2023.07.26 |