let price;
console.log(price); // Output: undefined
price = 350;
console.log(price); // Output: 350
_, $, 문자로만 시작
변수의 생성과정은 세단계로 이루어진다.
1. 선언 단계
2. 초기화 단계(undefined를 할당해주는 단계)
3. 할당 단계
let은 선언되면서 호이스팅이 이루어지지만 초기화단계는 실제 코드에 도달했을 때 이루어진다.
var name;
name="mike";
let age;
age=30;
const gender;
gender="male" //Uncaught SyntaxError: Missing initializer in const declaration
호이스팅 : 스코프 내부 어디서든 변수 선언은 최상위에 선언된 것처럼 행동하는 것
자바스크립트 초창기 변수 선언 키워드.
// 아웃풋으로 10, 20이 나옴, 변수 중복선언이 가능하다
var myName = 'Arya';
console.log(myName);
// Output: Arya
위 코드에서 변수선언자 var, 변수이름 myName, 변수값 Arya 이다.
'Arya' 는 변수이름 myName에 할당(assigned)된다. =
(할당 연산자)
myName이라는 변수가 Arya라는 값으로 초기화되었다'라고도 말할 수 있다.
var name;
console.log(name); // undefined
name = "mike" //할당
값이 undefined가 나오는 이유는 var 선언은 호이스팅 되지만 할당은 호이스팅 되지 않기 때문이다.