> For the complete documentation index, see [llms.txt](https://injun-woo30000.gitbook.io/growth-log/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://injun-woo30000.gitbook.io/growth-log/i-learned/programing-language/javascript/tcp-school/undefined-2.md).

# 변수

자바스크립트에서는 var 키워드를 사용하여 변수를 선언한다.

만약 선언되지 않은 변수을 사용하려하거나 접근하면 오류가 발생한다. 단, **선언되지 않은 변수를 초기화할 경우에는 자동으로 선언을 먼저 한 후 초기화를 진행한다.**

```
date = 25; //date라는 이름의 변수를 묵시적으로 선언
```

음..? 그리고 컴파일 단계가 없는 인터프리터 언어이다보니 변수 재선언시 컴파일 에러가 날 수가 없으므로 걍 변수 재선언 문구가 무시된다.

```
var num = 10;        // 변수의 선언과 함께 초기화
num = [10, 20, 30];  // 배열 대입
var num;             // 이 재선언문은 무시됨.
```
