변수
변수
는 하나의 값을 저장하기 위한 상자에 붙여준 이름이라고 생각하면 된다
변수에 값을 저장하는 것을 할당(assignment, 대입, 저장)
이라 하고
변수에 저장된 값을 읽어 들이는 것을 참조(reference)
라 한다.
그리고 변수명을 자바스크립트 엔진에 알리는 것을 선언(declaration)
이라 한다.
자바스크립트에서 변수의 선언은 총 3가지가 있다
var, let const
var
- var는 함수 레벨 스코프이다
- var 선언은 변수를 선언 하는 방식에서 큰 단점을 가지고 있다
- var로 선언한 변수는 선언 전에 사용해도 에러가 나지 않는다
- var는 이미 선언되어있는 이름과 같은 이름으로 변수를 또 선언해도 에러가 나지 않는다
- var는 값을 다시 할당할 수 있다
var aaa = '철수'
var aaa = '맹구'
가능
let
- let은 블럭 레벨 스코프이다
- let으로 선언한 변수는 선언 전에 사용하면 에러가 발생한다
- let은 이미 존재하는 변수와 같은 이름의 변수를 또 선언하면 에러가 발생한다.
- let은 변수 선언시 초기 값을 주지 않아도 된다
- let은 값을 다시 할당할 수 있다
let bbb = '영희'
let bbb = '짱구'
가능
const
- const는 블럭 레벨 스코프이다
- const로 선언한 변수는 선언 전에 사용하면 에러가 발생한다
- const는 이미 존재하는 변수와 같은 이름의 변수를 또 선언하면 에러가 발생한다.
- const는 반드시 초기값을 할당해야 한다.
- const는 한번 할당한 값은 변경할 수 없다.(단, 객체 안에 프로퍼티가 변경되는 것까지 막지는 못합니다).
const ccc = '훈이'
const ccc = '유리'
불가능