TypeScript ์ด๊ฑฐํ + JavaScript "in"= ๐
8322 ๋จ์ด webdevtypescriptjavascript
if
์กฐ๊ฑด์ ๋ฐ๊ฒฌํ์ ๋ ๋ค์ ํจํด์ ์๊ฐํด ๋์ต๋๋ค.์ด ์์์๋ ๋งค์ผ ์ฐจ๋๊ณผ ๊ด๋ จ๋ ์ฝ๋๋ฅผ ์์ฑํ ๋ ๋ก๋ด์ ์ฃผ์ ๋ก ์ฌ์ฉํ ๊ฒ์ ๋๋ค! ๐
๋ก๋ด์ ์ฒ๋ถํ๋ ํจ์๋ฅผ ์ํ์ง๋ง ์ํ๊ฐ
faulty
๋๋ damaged
์ธ ๊ฒฝ์ฐ์๋ง ๋ก๋ด์ ์ฒ๋ถํ ์ ์๋ค๊ณ ์์ํด ๋ด
์๋ค. ์๋์์ ์ด๊ฑฐํRobotStatus
์ ์ค์ ํ์ฌ ๊ฐ๋ฅํ ๋ก๋ด ์ํ๋ฅผ ๋์ดํ๊ณ Robot
์ธํฐํ์ด์ค๋ฅผ ์ค์ ํ์ฌ ๋ก๋ด์ ๋ชจ์์ ๋ง๋ญ๋๋ค.enum RobotStatus {
ready,
damaged,
faulty
}
interface Robot {
name: string
status: RobotStatus
}
function disposeRobot(robot: Robot): void {
if (robot.status === RobotStatus.damaged ||
robot.status === RobotStatus.faulty
) {
console.log('Disposing of robot...')
}
console.log('Robot in incorrect state to dispose...')
}
์ง๊ธ์ ๊ด์ฐฎ์ต๋๋ค. ๊ทธ๋ฌ๋ ๋ค๋ฅธ ์ํ์ ๋ํด ๋ ๋ง์ ๊ฒ์ฌ๋ฅผ ์ถ๊ฐํ๊ธฐ ์์ํด์ผ ํ๋ค๊ณ ์์ํด ๋ณด์ญ์์ค.
discontinued
, dead
, old
, rusty
, dangerous
์ ๋ํด ์ข ๋ ์ถ๊ฐํด ๋ณด๊ฒ ์ต๋๋ค.enum RobotStatus {
ready,
damaged,
faulty,
discontinued,
dead,
old,
rusty,
dangerous
}
interface Robot {
name: string
status: RobotStatus
}
function disposeRobot(robot: Robot): void {
if (robot.status === RobotStatus.damaged ||
robot.status === RobotStatus.faulty ||
robot.status === RobotStatus.discontinued ||
robot.status === RobotStatus.dead ||
robot.status === RobotStatus.old ||
robot.status === RobotStatus.rusty ||
robot.status === RobotStatus.dangerous ||
) {
console.log('Disposing of robot...')
}
console.log('Robot in incorrect state to dispose...')
}
์ด์
if
๋ธ๋ก์ด ๋๊บผ์์ง๊ณ ์
์ทจ๊ฐ ๋ฉ๋๋ค. ๐.ํ์ฉ๋ ์ผํ์ฉ ์ํ๋ฅผ ํฌํจํ๋
enum
๋ฅผ ์์ฑํด ๋ณด๊ฒ ์ต๋๋ค.enum DisposableStatus {
damaged,
faulty,
discontinued,
dead,
old,
rusty,
dangerous
}
JavaScript์๋ ์ง์ ๋ ์์ฑ์ด ์ง์ ๋ ๊ฐ์ฒด์ ์์ผ๋ฉด true๋ฅผ ๋ฐํํ๋
in
์ฐ์ฐ์๊ฐ ์์ต๋๋ค.prop in object
์ด๊ฒ์ ์์์
if
๋ธ๋ก์ ์ ๋ฆฌํ ์ ์์ต๋๋ค. ์จ๋ณด์...function disposeRobot(robot: Robot): void {
if (robot.status in DisposableStatus) {
console.log('Disposing of robot...')
}
console.log('Robot in incorrect state to dispose...')
}
TypeScript๋ ์ด๊ฑฐํ์ ์ผ๋ฐ JavaScript ๊ฐ์ฒด๋ก ์ปดํ์ผํ๊ณ ์ด๋ฌํ ์์ฑ์ ๋ฐํ์์ ์กด์ฌํฉ๋๋ค.
์ด๊ฒ์ ๋ฏธ๋์ ์์ ๊ณผ ๋ค๋ฅธ ๊ฐ๋ฐ์๋ฅผ ์ํด ํจ์ฌ ๋ ์ฝ๊ธฐ ์ฝ๊ณ ์ํํ๊ธฐ ์ฝ์ต๋๋ค.
Reference
์ด ๋ฌธ์ ์ ๊ดํ์ฌ(TypeScript ์ด๊ฑฐํ + JavaScript "in"= ๐), ์ฐ๋ฆฌ๋ ์ด๊ณณ์์ ๋ ๋ง์ ์๋ฃ๋ฅผ ๋ฐ๊ฒฌํ๊ณ ๋งํฌ๋ฅผ ํด๋ฆญํ์ฌ ๋ณด์๋ค https://dev.to/andrewmcoupe/typescript-s-enum-javascript-s-in-34caํ ์คํธ๋ฅผ ์์ ๋กญ๊ฒ ๊ณต์ ํ๊ฑฐ๋ ๋ณต์ฌํ ์ ์์ต๋๋ค.ํ์ง๋ง ์ด ๋ฌธ์์ URL์ ์ฐธ์กฐ URL๋ก ๋จ๊ฒจ ๋์ญ์์ค.
์ฐ์ํ ๊ฐ๋ฐ์ ์ฝํ ์ธ ๋ฐ๊ฒฌ์ ์ ๋ (Collection and Share based on the CC Protocol.)
์ข์ ์นํ์ด์ง ์ฆ๊ฒจ์ฐพ๊ธฐ
๊ฐ๋ฐ์ ์ฐ์ ์ฌ์ดํธ ์์ง
๊ฐ๋ฐ์๊ฐ ์์์ผ ํ ํ์ ์ฌ์ดํธ 100์ ์ถ์ฒ ์ฐ๋ฆฌ๋ ๋น์ ์ ์ํด 100๊ฐ์ ์์ฃผ ์ฌ์ฉํ๋ ๊ฐ๋ฐ์ ํ์ต ์ฌ์ดํธ๋ฅผ ์ ๋ฆฌํ์ต๋๋ค