"변수 선언"
// 변수 선언(변수 선언문)
var score;
var라는 키워드를 만나면 자바스크립트 엔진은 이 뒤에 오는 이름으로 변수를 생성하라고 인식하게 된다.
이 자바스크립트 문이 실행이 되면 메모리의 빈 공간에 메모리를 확보한다. 이 메모리의 주소를 기억하는 변수가 만들어진다.
score는 변수명인데 이 메모리의 주소를 기억하게 됨. 변수를 선언했지만 값은 할당하지 않은 상태다.
초기화를 했지만 값을 할당하지 않아 메모리에 아무것도 없는 것 같지만 undefined라는 자바스크립트의 원시값이 자동으로 할당된다.

var score; // ~ ES5
console.log(score); // undefined
let a; // ES6~
console.log(a); // undefined
const b; // ES6~
console.log(b) // SyntaxError: Missing initializer in const declaration
// const는 상수선언 키워드로 꼭 값을 할당해줘야한다.
const c = 10;
console.log(c); // 10
요즘에는 var 키워드를 문제점이 많기 때문에 안 쓴다.
예를 들어 스코프, 중복선언가능 등 이런 여러 가지 문제가 있기 때문에 사용을 안 하는 것이 좋다.
var score = 10; // 변수 선언과 동시에 할당
console.log(score); // 변수에 할당 되어진 값을 읽어 들인 것을 (변수에 대한)참조라 한다
console.log(x); // ReferenceError: x is not defined (참조에러 -> 변수 선언이 안됐음)
// x라는 변수 이름이 가르키고 있는 메모리 공간을 찾지 못했다.(선언이 되어 있지 않아서)'개발 > javascript' 카테고리의 다른 글
| 값의 할당 (0) | 2023.09.13 |
|---|---|
| 변수 호이스팅 (0) | 2023.09.10 |
| 변수 (0) | 2023.09.10 |
| 표현식인 문과 표현식이 아닌 문 (0) | 2023.09.10 |
| 문 (1) | 2023.09.10 |