Javascript는 변수선언시에 data type을 지정하지 않는다. 이것은 변수에 모든 data type를 지정할 수 있을 음 의미한다.
우선 종류를 알아보자.
좀 이상하지만 이것이 javascript에서 중요하다. 어찌하여 무(無)가 중요할까?
당연히 없음은 중요하다. 철학적인 문제도 있고, 너무 나아갔나?
undefined는 좀 이상하다. javascript에서는 reserved keyword로 지정하지 않았다. 그리하여 변수명으로 undefined를 사용할 수 있다고 한다.
그리하여 일부에서는 명확한 정의를 위하여 void(0)라는 것으로 undefined를 대체하기도 한다. void는 javascript의 reserved keyword이지만, 언어에서 명확한 정의를 하지 않았고 리턴값은 undefined이다.
우리가 컴퓨터 언어에서 생각하는 일반적인 수이다. integer와 double등을 구별하지는 않는다.
문자열이다. character의 나열이라고 보면된다. 다른 언어의 char를 표현하는 것은 없다.
함수이다. 수학에서 의미하는 함수를 나타내는 type이라고 보는 것이 머리가 안 아프다. 조금만 깊은 설명을 들어가면 정의하기 어려운 부분이 많이 있다.
물론 정확인 어떤 개념인지는 인지하고 넘어가야 한다. 진정한 engineer 측면에서는 language specfication을 직접 읽어 보고 싶기도 하다.
function f(x){ return x*x; }