정적 타입(static/strong type) 언어

ex) C, C++, Java, Kotlin 등

동적 타입(dynamic/weak type) 언어

JavaScript, Python 등

자바스크립트는 동적 타입 언어이며 var, let const 키워드를 사용해 변수를 선언할 뿐 데이터 타입을 사전에 선언하지 않음

var test;
console.log(typeof test);  //undefined

test = 1;
console.log(typeof test);  // number

test = 'JavaScript';
console.log(typeof test);  // string

test = true;
console.log(typeof test);  // boolean

test = null;
console.log(typeof test);  // object
// 자바스크립트의 첫 번째 버전의 버그이지만 기존 이미 작성된 코드에 영향을 줄 수 있어
// 아직까지 수정되지 못하고 있다.(object가 아니라 null이 나와야 하지만...)

test = Symbol();
console.log(typeof test);  // symbol

test = {};
console.log(typeof test);  // object

test = [];
console.log(typeof test);  // object

test = function(){};
console.log(typeof test);  // function