모던자바스크립트 15장 let, const 키워드와 블록 레벨 스코프

연호·2022년 12월 22일
0

모던자바스크립트

목록 보기
10/28

let, const 키워드와 블록 레벨 스코프

  1. var 키워드는 함수 레벨 스코프를 가지며 호이스팅, 변수 중복 선언 허용 등의 문제로 단점이 많다.

  2. ES6 부터 도입된 let은 변수의 중복 선언이 금지되어있다.

let bar = 123;
let bar = 456; //SyntaxError let 과 const 키워드로 선언된 변수는 스코프 내에서 중복 선언 허용 X
  1. 또한 let은 블록 레벨 스코프로 함수 뿐 아니라 if, for, while문 등등을 지역 스코프로 인정하는 블록 레벨 스코프를 따른다.

  2. let 키워드로 선언한 변수는 선언 단계와 초기화 단계가 분리되어 진행된다. let 키워드는 호이스팅이 발생하지 않는 것 처럼 보인다.

  3. const 키워드는 변수 선언과 동시에 초기화해야 한다.

const foo; // SyntaxError
  1. const 키워드는 재할당이 금지된다. 원시 값은 변경할 수 없는 값이기에 const로 원시 값을 할당시 변경할 수 있는 방법은 없다.
    단, 객체를 할당한 경우 값을 변경할 수 있다.

  2. ES6 이상 부터는 var 키워드 사용 X. 재할당이 필요한 경우 let 키워드 사용. 최대한 스코프는 좁게.
    재할당이 필요 없는 경우 const 키워드 사용. 일단 const를 사용하고, 반드시 재할당이 필요하다면 let 키워드로 변경하는 방식 활용.

profile
뉴비

0개의 댓글