반응형
JAVASCRIPT 변수선언시 사용하는 var, let, const의 차이에 대해 정리하려고한다!
스코프(Scope)와 호이스팅(Hoisting)의 개념에 대해서도 보게되었는데 따로 정리하도록하고
오늘은 var, let, const 개념정도만 정리하려고한다.
- var
var로 변수로 선언을 할때는 중복으로 여러번해도 오류없이 선언이 가능하다.
중복선언의 위험과 남용하는 문제 가능성이 높아 단점이 더 크다 볼 수 있으며
ES6부터는 이를 보완해 let과 const가 추가되었다.
var name = 'kim';
console.log(name); //출력: kim
//재할당
name = 'choi';
console.log(name); //출력: choi
//재선언
var name = 'lee';
console.log(name); //출력: lee
- let
let은 변수 선언 후 재할당하는 것은 가능하나
같은 변수명으로 재선언시 에러가 발생한다.
let name = 'roh';
console.log(name); //출력: roh
//재할당
name = 'park';
console.log(name); //출력: park
//재선언
let name = 'park';
//에러 발생 : Uncaught SyntaxError: Identifier 'name' has already been declared
console.log(name);
- const
const는 변수 선언 후 재할당 및 재선언 모두 불가능하다.
처음 선언하고 다른 값을 넣을 수 없다.
상수를 선언하는 변수로 사용된다.
const name = 'shin';
console.log(name);
//재선언
const name = 'oh';
//에러 발생 : Uncaught SyntaxError: Identifier 'name' has already been declared
console.log(name);
//재할당
name = 'jung';
//에러 발생 : Uncaught TypeError: Assignment to constant variable.
console.log(name);
- 정리
중복선언 | 재할당 | |
var | O | O |
let | X | O |
const | X | X |
재할당이 필요하면 let, 필요없다면 const를 사용하자!
반응형
'JAVASCRIPT' 카테고리의 다른 글
[JAVASCRIPT/JQUERY] 쿠키를 이용한 ID 저장 (0) | 2022.07.22 |
---|---|
[JAVASCRIPT/JQUERY] focus()가 동작하지 않을 경우 (0) | 2022.07.05 |
[JAVASCRIPT/JQUERY] textarea 엔터키 <br>로 치환 (0) | 2022.05.10 |
[JQUERY] 동적 table의 rowspan 병합 (0) | 2022.03.30 |
[JAVASCRIPT] 이전 페이지 URL 가져오기 (document.referrer) (0) | 2022.03.21 |
댓글