ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 개발자공부:호이스팅&var / let 차이
    공부 2022. 1. 14. 09:42
    반응형

    호이스팅: 함수 실행 전 안에 있는 변수를 최상단으로 끌어올리는 것.
                 즉, 함수 실행 전 어떤 변수가 있는지 다시 확인하고 기억함.
    console.log(a) //선언 전에 log 호출해도 오류 안남-> var 의 문제점
    var a = 1
    console.log(a)

    var / let 차이
    var의 문제점
    전역변수: 블락 밖에서 선언을 한 어디서든 쓰일 수 있는 변수 var a = 2
    지역변수:{ } 블락 안에서 선언된 변수, 블락안에서만 쓸 수 있음
    1. function foo( ){
    var b = 1
    }
    함수만 지역변수로 호이스팅되고, 나머지는 전역변수로 올림(함수만제외)

    2. var a = 1    // 변수 이름이 같아도 에러 안남
    console.log(a)
    var a = 2
    console.log(a)

    =>이러한 오류들로 자바스트립트 ES6 업데이트때 var 대신 let이 생김.

    let으로 변경 시
    console.log(a)   // 실행시키면
    let a = 1              // Reference Error: cannot access 'a' before initialization
    console.log(a)  // 에러발생
                 // let 도 호이스팅 가능
    // 대신 TDZ(Tenporal Death Zone)
       // a 가 호이스팅으로 기억 된 건 알지만
    // a 가 선언문이 나오기 전까지는 a 에 접근 할 수 없어 // 일시적으로 너는 죽은 zone이야

    반응형

    '공부' 카테고리의 다른 글

    Unit4 - [HTML] 기초  (0) 2022.07.04
    [JavaScript] 기초 제어문2  (0) 2022.07.01
    [JavaScript] 기초  (0) 2022.06.30
    22.04.25 Learn how to learn  (0) 2022.06.29
    코드스테이츠 프론트엔드과정 개강  (0) 2022.06.28
Designed by Tistory.