티스토리 뷰
반응형
Javascript 의 변수 선언 방식
- var
- let
- const
기존 변수 선언 방식과 추가된 변수 선언 방식
- 기존 변수 선언 방식
- var
변수를 한 번 더 선언했음에도 불구하고, 에러가 나오지 않고 각기 다른 값을 출력var test = '테스트'; console.log(test); // 테스트 var test = '두번째 테스트'; console.log(test); // 두번째 테스트
- var
- 추가된 변수 선언 방식
- let
'두번째 테스트'의 경우 이미 선언 되었다는 에러 메세지가 출력되며let test = '테스트'; console.log(test); // 테스트 let test = '두번째 테스트'; console.log(test); // Uncaught SyntaxError: Identifier 'test' has already been declared test = '재할당' console.log(test); // 재할당
변수 재선언이 불가능하지만 해당 변수에 값 재할당은 가능 - const
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.
- let
호이스팅 (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)
반응형
'JavaScript & jQuery' 카테고리의 다른 글
[JavaScript] jQuery.ajax() (0) | 2021.02.10 |
---|---|
[JavaScript] callback 함수 (0) | 2021.02.10 |
[JavaScript] 정규표현식(Regular Expression)으로 validation check (0) | 2021.02.10 |
[JavaScript] JavaScript 에서 사용자 IP 정보 가져오기 (0) | 2021.02.10 |
[JavaScript] Syntax Highlighting (0) | 2021.02.10 |