티스토리 뷰

반응형

 

Javascript 의 변수 선언 방식

  • var
  • let
  • const

 

 

기존 변수 선언 방식과 추가된 변수 선언 방식

  1. 기존 변수 선언 방식
    1. var
      var test = '테스트';
      console.log(test);
      // 테스트
      
      var test = '두번째 테스트';
      console.log(test);
      // 두번째 테스트
      변수를 한 번 더 선언했음에도 불구하고, 에러가 나오지 않고 각기 다른 값을 출력
  2. 추가된 변수 선언 방식
    1. let
      let test = '테스트';
      console.log(test);
      // 테스트
      
      let test = '두번째 테스트';
      console.log(test);
      // Uncaught SyntaxError: Identifier 'test' has already been declared
      
      test = '재할당'
      console.log(test);
      // 재할당
      '두번째 테스트'의 경우 이미 선언 되었다는 에러 메세지가 출력되며
      변수 재선언이 불가능하지만 해당 변수에 값 재할당은 가능
    2. const
      const test = '테스트';
      console.log(test);
      // 테스트
      
      const test = '두번째 테스트';
      console.log(test);
      // Uncaught SyntaxError: Identifier 'test' has already been declared
      
      const = '재할당'
      console.log(test);
      // Uncaught TypeError: Assignment to constant variable.
      const 의 경우에는 변수 재선언 및 재할당 모두 불가능

 

 

 

호이스팅 (Hoisting)

* var 선언문이나 function 선언문 등을 해당 스코프의 선두로 옮긴 것처럼 동작하는 특성

console.log(hoistingTest1);
// undefined
var hoistingTest1;

console.log(hoistingTest2);
// Error: Uncaught ReferenceError: bar is not defined
let hoistingTest2;

var 변수와 달리 let 변수를 선언문 이전에 참조하면 참조 에러 메세지 출력되는데 이는,
var 변수는 선언 단계와 초기화 단계가 한번에 이루어지는 반면에
let 변수는 선언 단계와 초기화 단계가 분리되어 진행되기 때문

(참고 : velog.io/@bathingape/JavaScript-var-let-const-%EC%B0%A8%EC%9D%B4%EC%A0%90)

 

 

 

 

 

반응형
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
글 보관함