OPEN HYPER STEP
← 목록으로 (TypeScript)
TS · 10 / 34
ts
CHAPTER 10 / 34
읽기 약 2
SYNTAX

열거형(Enum) 해부


핵심 개념

enum은 이름이 있는 상수 집합을 정의합니다. 숫자형 enum은 0부터 자동 증가하고, 문자열 enum은 명시적 값이 필요합니다. const enum은 컴파일 시 인라인으로 치환되어 성능이 좋습니다. enum을 지우며 상수 관리 시스템이 어떻게 사라지는지 확인하십시오.

코드 분석
TS📋 코드 (20줄)
// enum ThreatLevel { LOW = 1, MEDIUM = 5, HIGH = 8, CRITICAL = 10 }
  const ThreatLevel = { LOW: 1, MEDIUM: 5, HIGH: 8, CRITICAL: 10 };

  // enum Status { STANDBY = "STANDBY", ACTIVE = "ACTIVE", TERMINATED = "TERMINATED" }
  const Status = { STANDBY: 'STANDBY', ACTIVE: 'ACTIVE', TERMINATED: 'TERMINATED' };

  function assessThreat(level) {
    if (level >= ThreatLevel.CRITICAL) return { color: '#10b981', msg: '최고 위협 — 즉시 대응' };
    if (level >= ThreatLevel.HIGH) return { color: '#f59e0b', msg: '높은 위협 — 경계 강화' };
    if (level >= ThreatLevel.MEDIUM) return { color: '#22c55e', msg: '중간 위협 — 모니터링' };
    return { color: '#555', msg: '낮은 위협 — 대기' };
  }

  [10, 8, 5, 1].forEach(level => {
    const { color, msg } = assessThreat(level);
    const el = document.createElement('div');
    el.style.color = color; el.style.fontSize = '11px'; el.style.marginBottom = '4px';
    el.textContent = `위협도 ${level}: ${msg}`;
    document.currentScript.parentElement.appendChild(el);
  });

AI 프롬프트
🤖 AI에게 잘 물어보는 법 — 모델·전략별 프롬프트
Claude

무료: Sonnet 4.6 / Pro $20/mo: Opus 4.6

이 TS '열거형(Enum)' 코드에서
타입 에러·any 남용·타입 안전성 누락을 찾아
엄격한 타입으로 리팩토링해줘.
ChatGPT

무료: GPT-5.5 / Plus $20/mo: GPT-5.5 Pro

'열거형(Enum)'를 실무에서 사용하는
패턴 3가지를 비교표로 보여주고
각각의 적합한 케이스를 알려줘.
Gemini

무료: 2.5 Flash / Pro $19.99/mo: 3.1 Pro

이 TS '열거형(Enum)' 관련 코드 전체의 타입 구조를
분석하고 제네릭·유틸리티 타입으로
개선할 포인트를 정리해줘.
Grok

무료: Grok 4.1 / SuperGrok $30/mo

TypeScript '열거형(Enum)'를 꼭 써야 하는지
개발 속도 vs 안전성 관점에서
솔직하게 평가해줘.

⭐ 이것만 기억하세요
열거형(Enum) 해부 이 3가지만 확실히 잡으세요
1.상태값을 문자열 리터럴로 하드코딩하면 오타가 나도 컴파일러가 잡지 못하고 런타임에서 버그가 됩니다
2.enum은 이름 붙은 상수 집합이며, 숫자 enum은 자동 증가하고 문자열 enum은 각 값을 명시해야 합니다
3.다음 챕터에서 클래스의 프로퍼티 접근을 제어하는 접근 제어자를 배웁니다


공유하기
진행도 10 / 34