본문 바로가기

variable

(3)
변수 호이스팅 "변수 호이스팅" console.log(score); // undefined var score = 10; 변수를 선언도 하기 전 참조를 하면 참조에러가 나올 것 같지만 undefined라는 값이 나온다. 이러한 현상을 변수 호이스팅이라고 한다. 호이스팅이란 얘기는 끌어올린다는 얘긴데 흡사 변수의 선언문이 끌어올려진 것처럼 동작한다고 해서 변수의 호이스팅이라고 한다. 자바스크립트 엔진이 자바스크립트를 실행할 때 동기적으로 실행되지만 코드 안에 있는 선언문만을 먼저 실행한다. var score = 10; // 이 문은 var score; // 변수 선언문 score = 10; // 변수 할당문을 합친 것 console.log(score); // undefinde var score; score = 10; 세 ..
변수 선언 "변수 선언" // 변수 선언(변수 선언문) var score; var라는 키워드를 만나면 자바스크립트 엔진은 이 뒤에 오는 이름으로 변수를 생성하라고 인식하게 된다. 이 자바스크립트 문이 실행이 되면 메모리의 빈 공간에 메모리를 확보한다. 이 메모리의 주소를 기억하는 변수가 만들어진다. score는 변수명인데 이 메모리의 주소를 기억하게 됨. 변수를 선언했지만 값은 할당하지 않은 상태다. 초기화를 했지만 값을 할당하지 않아 메모리에 아무것도 없는 것 같지만 undefined라는 자바스크립트의 원시값이 자동으로 할당된다. var score; // ~ ES5 console.log(score); // undefined let a; // ES6~ console.log(a); // undefined const ..
변수 "변수" 프로그래밍 언어는 기억하고 싶은 값을 메모리에 저장하고 저장된 값을 읽어 들여 재사용 하기 위해 변수라는 메커니즘을 제공한다. 변수의 정의를 내려보면 아래와 같다. 변수(Variable)는 하나의 값을 저장할 수 있는 메모리 공간 자체 또는 그 메모르 공간을 식별하기 위해 붙인 이름을 말한다. var result = 10 + 20; cpu가 10과 20을 합산해 만들어낸 값을 메모리에 저장했는데 이 메모리에 접근할 수 있는 방법이 아까는 없었음. 그런데 이 변수에다 이 결과값을 담아놓으면 변수 이름이 이 메모리 셀의 주소를 기억함. 따라서 우리는 result라는 변수 이름으로 언제든지 30이 들어가 있는 메모리 셀에 접근 할 수 있음. var result 10 + 20; // result라는 변..