본문 바로가기

개발/javascript

변수 선언

"변수 선언"

// 변수 선언(변수 선언문)
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