tdz

    [JavaScript] var, let, const 차이

    기존의 문법인 var와 ES6에서 새로 추가된 let, const을 비교하고자 한다. 추가로 호이스팅과 그로 인한 TDZ 현상에 대해서도 알아보겠다. var ES6 이전의 변수 선언 방식이다. 유연한 방식으로 인해 발생하는 문제가 많아 최대한 사용하지 않는 것이 좋다. 1. 함수 레벨 스코프 if문 안의 foo와 if문 밖의 foo는 같은 스코프로 취급하여 동일한 변수가 된다. var foo='hello'; if(true) { var foo = 'hello if'; } console.log(foo); // hello if 2. 중복 선언 가능 같은 변수를 여러 번 선언해도 오류가 나지 않는다. var foo='hello1'; var foo='hello2'; console.log(foo); // hello..