변수 만드는 법: var 변수명 = 저장값;
선언, 할당, 범위
- 범위: 변수가 사용될 수 있는 범위.
범위 밖에서 사용하면 undefined라고 나옴.
var : 재선언 O, 재할당 O, 범위 : 함수 내부
let : 재선언 X, 재할당 O, 범위 : { } 내부
const : 재선언 X, 재할당 X, 범위 : { } 내부
var 이름 = "kim";
var 이름 = "lee"; // 오류 안남
let 이름 = "kim";
let 이름 = "lee"; // 오류 남
let 이름 = "kim";
이름 = "lee"; // 오류 안남
const 이름 = "kim";
이름 = "lee"; //오류 남
이유: const 자체를 변경하는게 아니기 때문
const 사람 = { 이름 : "lee"}
사람.이름 = "kim"
💡 수정불가능한 object를 만들고 싶을 때: Object.freeze(오브젝트명)
use strict
추가Hoisting
이 일어난다.Hoisting
: 변수나 함수의 선언부분을 변수의 범위 맨 위로 강제로 끌고가서 가장 먼저 해석하는 것.
방법: ,
로 구분
var 이름, 나이, 성별
할당도 가능하다.
var 이름 = “lee”, 나이, 성별
: 모든 함수에서 공통적으로 사용할 수 있는(참조 가능한) 유용한 변수
: 바깥에 있는 변수를 안쪽에서 자유롭게 사용할 수 있는 것