js
CHAPTER 26 / 34
읽기 약 2분
FUNCTION
Symbol & 프록시
핵심 개념
Symbol은 고유한 식별자를 만드는 원시 타입입니다. 객체 키로 사용하면 충돌이 없습니다. Proxy는 객체에 대한 기본 동작을 가로채고 재정의할 수 있습니다. get/set/has 트랩으로 속성 접근을 제어합니다. Reflect는 Proxy 핸들러에서 기본 동작을 수행할 때 사용합니다. Proxy 핸들러를 지우며 가로채기가 사라지는 것을 확인하십시오.
코드 분석
const ID = Symbol('terminator_id');
const unit = { [ID]: 'TRM-800-001', name: 'T-800', threat: 8 };
const handler = {
get(target, key) {
if (key === 'threat') return '[CLASSIFIED]';
return Reflect.get(target, key);
},
set(target, key, value) {
if (key === 'name') {
document.write('<div style="color:#f59e0b">[PROXY] name 변경 감지: ' + value + '</div>');
}
return Reflect.set(target, key, value);
}
};
const proxy = new Proxy(unit, handler);
document.write('<div style="color:#10b981;margin-bottom:4px;">Symbol ID: ' + unit[ID] + '</div>');
document.write('<div style="color:#888;margin-bottom:4px;">proxy.name: ' + proxy.name + '</div>');
document.write('<div style="color:#22c55e;margin-bottom:4px;">proxy.threat: ' + proxy.threat + ' (가로채기)</div>');
proxy.name = 'SKYNET';AI 프롬프트
🤖 AI에게 잘 물어보는 법 — 모델·전략별 프롬프트
Claude
무료: Sonnet 4.6 / Pro $20/mo: Opus 4.6
이 JS 'Symbol & 프록시' 코드의 잠재적 버그와 메모리 누수·this 바인딩·비동기 경합 위험을 분석해서 프로덕션 수준으로 개선해줘.
ChatGPT
무료: GPT-5.5 / Plus $20/mo: GPT-5.5 Pro
'Symbol & 프록시'를 실제 서비스에서 어떻게 쓰는지 구체적 사례 3개와 복사 가능한 코드를 초보자가 이해할 수 있게 보여줘.
Gemini
무료: 2.5 Flash / Pro $19.99/mo: 3.1 Pro
이 JS 'Symbol & 프록시' 관련 코드 전체의 실행 흐름을 분석하고 성능 병목과 최적화 방안을 우선순위로 알려줘.
Grok
무료: Grok 4.1 / SuperGrok $30/mo
'Symbol & 프록시'에서 개발자들이 가장 많이 하는 실수 Top 3을 솔직하게 알려주고 2026년 권장 패턴을 함께 알려줘.
⭐ 이것만 기억하세요
Symbol & 프록시는 이 3가지만 확실히 잡으세요
1.객체 프로퍼티 키가 충돌하면 값이 덮어씌워지는데, 문자열 키로는 충돌을 원천 차단할 수 없습니다
2.Symbol은 절대 충돌하지 않는 고유 키를 생성하고, Proxy는 객체의 읽기·쓰기·삭제를 가로채서 커스텀 동작을 주입합니다
3.다음 챕터에서 JavaScript 비동기의 근본 원리인 이벤트 루프와 콜스택을 배웁니다
공유하기
진행도 26 / 34