기존 var 변수 선언 문제를 해결하기 위해 ES6에서 let 이란 변수 키워드로 사용

  • 함수에서 let 변수 선언은 함수 Scope(범위)
  • 블록{ } 안/밖에 같은 변수가 있어도 서로 다름
  • let 변수는 호이스팅(hoisting)되지 않

변수 선언

let food; // let 키워드로 변수 선언 값은 할당하지 않음
let movie = '다크나이트'; // let 키워드로 변수 선언과 초깃값을 할당함
let food2 = '딸기', movie = '사랑과 영혼'; // let 키워드로 여려개 변수 선언과 초깃값 할당

블록 스코프

블록 스코프란? { } 안/밖의 범위에서 변수 선언했을때 변수 이름이 같더라도 스코프가 다르므로 서로 다름

// 블록 스코프 연습
let movie = '다크나이트';

if (movie) {
    let movie = '어벤져스';
    console.log(`블록 : ${movie}`);
}
console.log(`글로벌 : ${movie}`);
console.log('---------------------');