문자열은 우리가 이해하기 가장 좋은 데이터 타입으로 큰 따옴표와 작은 따옴표로 작성할 수 있다. 큰 따옴표, 작은 따옴표는 종류에 따라 따로 무엇을 사용해야 한다고 정해지진 않았지만 시작이 큰 따옴표라면 끝을 큰 따옴표로, 시작이 작은 따옴표라면 끝을 작은 따옴표로 작성해야 한다. 결국 처음과 끝을 통일성 있게 사용해야 한다.
var str1 = "This is a first string.";
문자열이라고 해서 반드시 문자만 사용 가능한 것은 아니다. 여러 부호들과 숫자도 물론 문자열 안에 작성하기만 하면 문자열로 정의 가능하다. 따옴표 안에 또 따옴표를 써야 하는 경우 escape 문자를 사용하면 간단하게 따옴표도 문자열 안에 작성 가능하다. 그러나 이 경우엔 가장 바깥 쪽에 사용된 따옴표와 다른 타입의 따옴표를 사용해야 한다.
var str2 = "Let\'s go together!";
결과 값: "Let's go together!"
숫자 타입은 다양한 연산자를 사용할 수 있다. 대표적인 number의 연산자로는 산술 연산자 +, -, *, / 등이 있다. 산술 연산자 이외에도 할당 연산자, 비교 연산자 등이 있다. 연산자들은 string 타입에도 적용 가능하지만 주로 숫자 타입이 연산자 사용 비중이 높다.
1 + 2 // 3
2 - 1 // 1
2 * 3 // 6
3 / 1 // 3
boolean 타입은 true 혹은 false 로 이루어져 있다. 변수에 true 혹은 false의 값을 할당할 수도 있지만 비교연산을 통해 boolean 값이 리턴해 올 수 있게 해서 활용할 수 있다.
var iamtrue = true;
var iamfalse = false;
Boolean(2 > 1) // return 'true'
javascript에는 많은 데이터 타입이 존재하지만 항상 false가 되는 값(falsey value)들이 있다. 자바스크립트 내에선 이 값들을 제외하면 모두 truthy value다.
false
0 (숫자 0)
-0 (음수 0)
"" (빈 문자열)
null (아무런 값이 없음)
undefined (원시값, 정해지지 않은 값)
NaN (숫자가 아님)
해당 변수는 선언되어 존재하지만 변수 값의 데이터 형식이 정해지지 않았다는 뜻이다.
var a; // undefined. a가 선언되었지만 아무 것도 할당되어 있지 않음
typeof(a); // 데이터 타입을 확인하면 'undefined'
a = 1; // a에 1을 할당
typeof(a) // number
값이 비어 있음을 의미한다. 어찌보면 undefined와 같은 게 아닌가 싶지만 null의 데이터 타입은 object로 다르다. 또한 undefined와 null은 용도가 다르고 null을 더 자주 사용한다.
typeof(null) //object
자바스크립트는 객체지향 프로그래밍 언어로 객체가 큰 주축을 이루고 있다. 앞서 소개된 string, number, boolean, undefined 을 제외한 모든 데이터들은 객체로 분류될 수 있다.