차이
문서의 선택한 두 판 사이의 차이를 보여줍니다.
| 양쪽 이전 판이전 판다음 판 | 이전 판 |
| book:ecmascript:type [2023/09/09 14:18] – [undefined] taekgu | book:ecmascript:type [2025/04/15 10:05] (현재) – 바깥 편집 127.0.0.1 |
|---|
| | ====== 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을 직접 읽어 보고 싶기도 하다. |
| | |
| | === 기본정의 === |
| | <code javascript> |
| | function f(x){ |
| | return x*x; |
| | } |
| | </code> |