var let const -> 선언과 초기화, 스코프차이, 재선언차이
let 키워드를 사용하면 변수값을 수정할 수 있음 재선언 불가, 재할당 가능
const 키워드를 사용한 변수 값은 수정할 수 없음! 재선언, 재할당 불가
var 재선언 재할당 가능 - > 절대 사용하지 않음!
ex )
var num; //선언
num = 2; //할당
var num = 2; // 선언+할당 (var의경우 재선언,재할당)
var num = 'another value';
var str = 'string'; // 선언과 동시에 할당
변수명은 (데이터를 담을 주머니라고 생각하는것이 편하다!)
(나쁜 예 - let x = "유키키";
let asvasefsefwefwe = "유키키 하우스";
좋은 예 - let name = "유키키";
let address = "유키키 하우스";)
let의 경우 변수를 새로 생성할 때 만 사용 수정할 경우에는
let 키워드를 사용하지 않음
(처음 선언시에만 사용!)
- let 키워드의 역할은 변수를 생성하는것임
BUT! 변수를 여러개 생성 할 경우 같은 변수이름을 중복해서 쓰지 않게!
(변수는 중복이름이 불가능하지만 값은 가능!)
예로..
let name = "유키키";
let job = "fronted developer";
name = "키키";
job = "학생";
이렇게 쓸 수 있음!
const의 경우 변수를 바꿀 수 없음!
const는 선언과 할당을 해야 사용가능
const male; X
const male = true; O
(하단에 male = false; 불가능 재할당 불가)
스코프(사용 가능한 범위) {} 이 블록의 사용 가능한 범위를 스코프라고 함
{} -> 블록이라고 부름
var -> 함수 스코프
let , const -> 블록 스코프
var는 스코프를 넘어 오염시키기때문에 Scope pollution 으로 자주 사용하지 않음!