자바스크립트는 특정 자료형에 따라 선언 방법이 다르지 않다. 세 가지의 주요 변수 선언 키워드가 있는데 var, let, const이다.
var은 ES6가 생기기 전에 사용된 변수 선언 방식으로 많은 곳에 사용되었지만 지역변수, 전역변수의 특징을 무시하고 호이스팅 때문에 선언 전에도 변수를 사용할 수 있는 논리적인 문제가 지적되어 ES6이후에서는 let과 const라는 변수 선언 방식을 권장한다. 사용하지 말도록
*호이스팅 : 코드를 실행하면 자바스크립트 엔진이 모든 코드를 읽어 변수나 함수등을 미리 저장하는 방식이다.
let으로 선언된 변수는 블록 스코프를 가지며, 선언된 블록 {} 내에서만 접근이 가능합니다. let으로 선언된 변수는 재할당이 가능합니다.
*let도 호이스팅이 되긴하지만 TDZ라는 개념을 만들어 변수가 선언되기 전까지는 변수에 접근할 수 없도록 만들었다.
const 역시 블록 스코프를 가지며, 선언된 블록 내에서만 접근할 수 있습니다. const로 선언된 변수는 선언과 동시에 값을 할당해야 하며, 이후에 값을 변경할 수 없습니다.
let과 const는 블록 스코프를 가지며 코드의 안전성을 높여 주기 때문에, var보다는 let이나 const 사용을 권장한다.
자바스크립트는 다음과 같은 기본 자료형을 갖고 있다.