let, const와 블록 레벨 스코프 (let, const)

Posted by Seongkyun Yu on 2020-03-01
Estimated Reading Time 1 Minutes
Words 118 In Total
Viewed Times

1. var 키워드로 선언한 변수의 문제점

  • 중복 선언이 가능하다.
  • 함수의 코드 블록 만을 지역 스코프로 인정한다.
  • 변수 호이스팅으로 변수 선언문 이전에 참조할 수 있다.


2. let 키워드

  • 변수 중복 선언 금지

  • 모든 코드 블록을 지역 스코프로 인정한다.

  • 변수 호이스팅이 발생하지 않는 것처럼 동작한다.
    (선언과 동시에 undefined가 초기화 되지 않음)

    1
    2
    3
    4
    5
    6
    let foo = 1; // 전역 변수

    {
    console.log(foo); // ReferenceError: foo is not defined
    let foo = 2; // 지역 변수
    }

    위 예제에서 호이스팅이 발생하지 않는다면 1이 출력돼야 하지만 에러가 뜬다.

  • 전역 객체(window)에 할당 되지 않는다.


3. const 키워드

  • const는 선언과 동시에 할당해야 한다.

  • 재할당이 금지된다.(이를 이용해 상수를 표현하는데 쓴다.)

  • const로 선언된 변수에 객체를 할당해도 객체 값을 변경할 수 있다.


참고자료: poiemaweb.com


If you like this blog or find it useful for you, you are welcome to comment on it. You are also welcome to share this blog, so that more people can participate in it. If the images used in the blog infringe your copyright, please contact the author to delete them. Thank you !