본문 바로가기
Web/Javascript

[javascript] 변수/상수 - var, let, const

by juein 2018. 3. 1.

var로 변수 선언시 이미 만들어진 변수이름으로 재선언을 해도 문제가 발생하지 않음


var a = 'test'
var a = 'test2'


// hoisting으로 인해 ReferenceError에러가 안난다.
c = 'test'
var c


위 상황이면 기존에 사용하고있던 변수명의 사용여부를 모르고 변수 재선언을 하여 프로그램이 꼬이게 될 가능성이 크다.

이러한 문제점의 해결방안으로 es6에서 let, const 가 추가됨


let : 변수 재할당은 가능하지만, 변수 재선언은 불가능
const : 상수. 재선언, 재할당 모두 불가능

// let 사용
let a = 'test'
let a = 'test2' // <-- SyntaxError
a = 'test3' // 에러안남

// const 사용
const b = 'test'
const b = 'test2' // <-- SyntaxError
b = 'test3' // <-- TypeError


요약

const : 상수 , 값 재정의 x. 값이 안변하면 디폴트로 쓰자

let : 변수, 호이스팅을 타지 않음

var : 호이스팅이 일어나니 절대 사용X

'Web > Javascript' 카테고리의 다른 글

[Javascript] input 전화번호 입력시 하이픈(-) 자동 붙이기  (0) 2019.04.12
[Javascript] 간단한 아코디언 토글  (0) 2019.04.12
나쁘지만 사용해야 하는 부분  (0) 2018.02.28
정규표현식  (0) 2018.02.28
배열  (0) 2018.02.28

댓글