자바스크립트 변수 생명주기에 대해 알아 봅시다.

자바스크립트의 변수 생명주기와 관련된 용어들을 아주 쉽게 정리해 드릴게요.
비유하자면 '이름표가 붙은 상자'를 떠올리면 이해가 빠릅니다.
1. 자바스크립트 핵심 용어 정리
| 용어 | 뜻 | 쉬운 설명 | 예시 코드 |
| Declare | 선언 | "이제부터 이런 이름의 상자를 쓸 거야!"라고 선언하는 것. | let box; |
| Assign | 할당 | 만들어둔 상자에 물건(값)을 집어넣는 것. | box = 10; |
| Initialization | 초기화 | 상자를 만듦과 동시에 처음으로 값을 넣는 것. | let box = 10; |
| Reassign | 재할당 | 이미 값이 들어있는 상자의 물건을 빼고 새것으로 바꾸는 것. | box = 20; |
| Define | 정의 | 선언과 할당을 합친 개념. "이 변수는 이런 존재다"라고 확정 짓는 것. | (보통 선언+할당을 의미) |
| Redefine | 재정의 | 이미 정의된 변수를 아예 처음부터 다시 정의하는 것. (var에서만 가능) | var a=1; var a=2; |
| Undefined | 정의되지 않음 | 상자는 있는데, 안에 아무것도 들어있지 않은 상태 (JS의 기본값). | let a; // a는 undefined |
2. 미국 개발자들은 어떻게 부를까?
결론부터 말씀드리면, 문맥에 따라 둘 다 쓰지만 역할이 다릅니다.
Declare vs Declaration
- Declare (동사): "변수를 선언하다"라는 행위를 말할 때 씁니다.
- 예: "You need to declare a variable first."
- Declaration (명사): "선언문"이라는 코드 자체나 개념을 말할 때 씁니다.
- 예: "Where is the variable declaration?"
Assign vs Assignment
- Assign (동사): "값을 넣다/할당하다"라는 동작을 말할 때 씁니다.
- 예: "Let's assign the value 5 to x."
- Assignment (명사): "할당"이라는 현상이나 = 기호(Assignment operator)를 말할 때 씁니다.
- 예: "This assignment causes an error."
💡 꿀팁: 핵심 차이 요약
- Declare vs Define: 사실 자바스크립트에서는 혼용해서 많이 쓰지만, 엄밀히 따지면 Declare는 이름을 등록하는 것, Define은 그 이름에 실제 값이나 로직(함수 등)이 채워진 상태를 의미합니다.
- Const의 특징: const로 변수를 만들면 Reassign(재할당)이 불가능합니다. 그래서 선언과 동시에 Initialization(초기화)을 반드시 해줘야 합니다.

'New' 카테고리의 다른 글
| UI 기획서 작성 가이드 (0) | 2026.05.19 |
|---|---|
| 코딩 초보자가 AI 바이브 코딩할 때 생각해 볼 문제 (0) | 2026.05.11 |
| null과 undefined의 차이 (0) | 2026.05.04 |
| 나의 코딩 실력은 언제 성장할까요? (0) | 2026.05.04 |
| 코딩 트레이닝 목표 (0) | 2026.05.04 |