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