var
var 변수명 = 초기화 값.
or
var 변수명
(1) 자바스크립트는 코드를 실행하기 전에 전체적으로 코드를 검사한다.
그 후 인터프리터 형식으로 코드를 실행한다.
이때 var는 우선순위를 최상단으로 올라갔기 때문에
EX>
console.log(test)
var test ( 최우선순위로 올라감 )
test=1
//=> 결과 undefine
같은 상황에서 test변수는 주소값을 가지게 되고 변수 주소에는 값이 없는 상태이기 때문에 오류가 아닌 undefine이 되어 오류가 검출되지 않고 진행된다.
(2) var 변수는 재선언이 가능하다. 코드가 길어질수록 변수가 헷갈리고 중복이 될 상황이 많이질 수 있고 무분별한 변수 선언을 하여 코드가 복잡해질 수 있다.
(3) (1), (2)의 특징에 겹쳐서 실수로 이미 있는 변수명으로 재선언하고 사용하여, 오류, 오차가 발생하면 검수하기 힘들고 질이 떨어지는 코드가 될 수 있다.
var로 밖에 변수를 선언할 수 없던 자바스크립트 ES5 이후 ES6로 넘어가면서
보완한 변수 선언 예약어이다. 이후 var는 몇몇의 경우를 제외하고 사용하지 않음.
let
let test_let = 0
let test_let = 2
//=> Uncaught SyntaxError: Identifier 'test_let' has already been declared
const
const test_const = 0
const test_const = 1
// = > Uncaught SyntaxError: Identifier 'test_const' has already been declared
const test_const = 100
test_const = 10
//=>index3.js:81 Uncaught TypeError: Assignment to constant variable.
=> 위 같은 상수의 특징과 같아 상수형 변수이다.
선언 이후 값을 변경할 수 없고 선언과 동시에 값을 초기화 시켜줘야한다.
선언 방법
[var, let, const] 변수명 = 데이터