var, let, const

이후경·2022년 5월 27일
0
post-thumbnail

var로 선언한 변수는 같은 이름으로 다시 선언해도 에러가 나지 않지만
let, const는 이미 선언한 있는 변수의 이름으로 다시 선언 시,  에러남
let은 다시 선언은 못하지만 재할당은 가능
const는 한번 선언하면 재선언과 재할당 불가 > 상수

scope 변수의 범위 선언한 변수는 어디에서나 사용 가능한건 아니고 범위에 따라 사용가능 범위가 다르다. {}으로 묶인 것을 블록이라고 하게 되는데
var는함수블록단위의 scope를, let과 const는 블록단위의 scope를 갖는다.

  • 변수형 빼먹고 선언할 경우 전역 변수

정리

var - 재선언 o, 재할당 o, 함수블록단위
let - 재선언 x, 재할당 o, 블록단위
const - 재선언 x, 재할당 x, 블록단위

var 이름 = 'kim';
var 이름; > 선언
이름 = 'kim'; > 할당

객체 타입 변수의 주소 값 변경 > 재할당.
재할당은 불가하지만 할당된 객체의 내용 (프로퍼티의 추가 삭제 값 변경)은 변경 가능
__ 불가
const 사람 = 'kim';
사람 = 'park';

_ 가능 이건 재할당 아니고 변경
const 사람 = { 이름: 'kim' }
사람.이름 = 'park';

_ 내가 생각했던 const
const 사람 = { 이름: 'kim' }
object.freeze( 사람 );

profile
나는야 경바

0개의 댓글