웹 개발 메모장
[자바스크립트] var / let / const 본문
var / let / const
자바스크립트에서 변수를 선언하는 방법은 var 하나였습니다.
ECMAScript 6 버전 부터 let 과 const 가 추가되었습니다.
var
기존 var 는 변수의 재선언 과 값 변경이 매우 너그러워서 자칫 코드가 위험할 수 있게 됩니다.
간단하게 예를 들면
1 2 3 4 5 6 | var name = '박보영'; { var name = '하연수'; alert(name); } alert(name); | cs |
위와 같은 코드에서 첫번째 alert() 에서는 하연수를 두번째 alert()에서는 박보영을 출력하고자 의도했을 지 모르지만 결과적으로 두 번 모두 하연수를 출력하게 됩니다. 의도치 않았지만 에러가 발생하지 않기 때문에 특히 유지보수 시 코드가 추가됨에 따라 다른 영향을 끼칠 수 있어 위험할 수 있을 것 같습니다.
let
var와 다르게 let은 변수를 스코프당 한번만 선언할 수 있게 해줍니다. 또한 해당 스코프에서만 접근이 가능합니다.
1 2 3 4 5 6 | let name = '박보영'; { let name = '하연수'; alert(name); } alert(name); | cs |
따라서 위의 코드는 각각 하연수와 박보영을 출력합니다.
const
const 는 한번 값을 할당하면 값을 바꾸지 못하게 '상수' 취급을 하도록 변수를 선언하는 것입니다. (자바의 final)
1 2 | const num = 100; num = 200; // 에러 | cs |
키워드 |
구분 |
선언 위치 |
재선언 |
var |
변수 |
전역 스코프 |
가능 |
let |
변수 |
해당 스코프 |
불가능 |
const |
상수 |
해당 스코프 |
불가능 |
'옛날.. > 자바스크립트' 카테고리의 다른 글
[자바스크립트] for in / for of 반복문 (0) | 2018.01.02 |
---|---|
[자바스크립트] 짧은 조건문 (0) | 2018.01.02 |
[자바스크립트] 템플릿 문자열 (0) | 2018.01.02 |
[JQuery] input type=file 태그 CSS 변경하기(trigger()) (0) | 2018.01.02 |
[자바스크립트] 숫자 배열, 문자 배열 정렬하기 sort() (0) | 2017.11.30 |
Comments