Home / AI / AI 용어사전 / 변수(Variable) — AI 코드에서 값을 기억하는 가장 기초 단위
TERM
변수(Variable) — AI 코드에서 값을 기억하는 가장 기초 단위
On this page
코드에서 어떤 값을 '기억'해두고 나중에 꺼내 쓸 수 있다. 이 기능을 담당하는 것이 변수(Variable)다. 프로그래밍의 출발점이자, AI api 응답을 다룰 때도 매 순간 등장하는 개념이다.
정의
변수(Variable)는 프로그램이 실행되는 동안 값을 저장하는 이름이 붙은 저장 공간이다. 변수에 값을 넣는 것을 '할당(assignment)'이라 하고, 나중에 그 이름으로 값을 꺼내 쓰는 것을 '참조(reference)'라 한다.
let apiKey = 'sk-ant-xxxxxx'; // 변수 선언 + 할당
console.log(apiKey); // 참조: 'sk-ant-xxxxxx' 출력
apiKey = 'sk-ant-yyyyyy'; // 재할당var·let·const의 차이
자바스크립트에는 변수를 선언하는 세 가지 키워드가 있다.
| 키워드 | 재할당 | 재선언 | 스코프 | 권장 | |---|---|---|---|---| | var | 가능 | 가능 | 함수 스코프 | ❌ 지양 | | let | 가능 | 불가 | 블록 스코프 | ✅ 변경 필요 시 | | const | 불가 | 불가 | 블록 스코프 | ✅ 기본값 |
const를 기본으로 사용하고, 값이 바뀌어야 하는 경우에만 let을 쓰는 것이 현대 자바스크립트의 표준 관행이다. var는 예상치 못한 버그를 유발할 수 있어 신규 코드에서는 사용하지 않는다.
const MODEL = 'claude-sonnet-4-6'; // 바뀌지 않을 값 → const
let retryCount = 0; // 루프에서 증가 → let
retryCount += 1; // 가능
// MODEL = 'gpt-4o'; // TypeError: const 재할당 불가스코프 — 변수가 유효한 범위
스코프(scope)는 변수가 접근 가능한 코드 범위다.
const globalModel = 'claude-sonnet-4-6'; // 전역 스코프
function analyzeText(text) {
const result = text.length > 100 ? 'long' : 'short'; // 함수 스코프
console.log(globalModel); // 전역 변수 접근 가능
return result;
}
console.log(result); // ReferenceError: result는 함수 밖에서 없음블록 스코프({} 내부)에서 선언한 let·const는 블록 밖에서 접근할 수 없다. 이 규칙을 이해하면 "변수가 없다"는 에러의 원인을 빠르게 찾을 수 있다.
API 응답값을 변수로 다루는 실전 패턴
Claude API 응답은 중첩된 객체(object)다. 변수로 단계별로 꺼내 쓰면 코드가 명확해지고 디버깅이 쉬워진다.
// 전체 응답 저장
const response = await callClaudeAPI(prompt);
// 응답 본문 추출
const content = response.content[0];
// 텍스트만 분리
const text = content.text;
// 토큰 사용량
const inputTokens = response.usage.input_tokens;
const outputTokens = response.usage.output_tokens;
console.log(`응답: ${text}`);
console.log(`사용 토큰: ${inputTokens + outputTokens}`);각 단계를 별도 변수에 담으면 어느 단계에서 undefined가 발생하는지 즉시 파악할 수 있다. 긴 체이닝(response.content[0].text)보다 단계별 변수가 에러 위치 추적에 유리하다.
관련 용어
- const — 재할당 불가 변수 선언 키워드. 기본 선택
- scope — 변수가 유효한 코드 범위
- object — API 응답처럼 여러 값이 묶인 복합 데이터 타입
- function — 변수가 함께 사용되는 코드 구조
- api — 변수로 응답값을 처리하는 대표적 컨텍스트