값
JavaScript는 다음과 같은 값 형식을 인식합니다.
- 수, 42나 3.14159
- 논리적(불리언) 값,
true
와false
- 문자열, "안녕!"
-
null
, null 값을 나타내는 특별한 키워드.null
은 또한 기본(primitive) 값이기도 합니다. JavaScript는 대소문자를 구분하므로,null
은Null
이나NULL
과는 다릅니다. -
undefined
, 값이 정의되지 않은 최상위 속성.undefined
도 기본(primitive) 값입니다.
이렇게 조금 적어보이는 값 형식 또는 "자료형"이지만 훌륭한 기능을 작성할 수 있습니다. 정수와 실수 사이에 엄격한 구분은 없습니다. JavaScript에는 명시적인 날짜 자료형은 없습니다. 하지만 Date
개체를 이용하면 됩니다.
Object와 함수는 언어의 또다른 기초 요소입니다. 개체는 값을 포함할 수 있는 이름 붙은 어떤 것이라고 생각하면 되고, 함수는 프로그램이 수행할 수 있는 실행 절차라고 생각하면 됩니다.
자료형 변환
JavaScript는 동적 타입 언어입니다. 이 말은 변수를 선언할 때 타입을 지정하지 않아도 되고, 스크립트 실행중에 필요에 따라 자동으로 자료형이 바뀐다는 말입니다. 예를 들어 다음과 같이 변수를 선언할 수 있습니다.
var answer = 42
그 후에 이 변수에 문자열 값을 할당할 수 있습니다.
answer = "Thanks for all the fish..."
JavaScript는 동적 타입 언어이기 때문에, 이렇게 대입하더라도 에러를 내지 않습니다.
숫자와 문자열 값을 + 연산자로 계산하는 표현식에서, JavaScript는 숫자를 문자열로 변환합니다. 예를 들어 다음과 같은 문장을 생각해봅시다.
x = "The answer is " + 42 // returns "The answer is 42" y = 42 + " is the answer" // returns "42 is the answer"
다른 연산자를 사용하는 문장에서는 숫자를 문자열로 변환하지 않습니다.
"37" - 7 // returns 30 "37" + 7 // returns "377"