데이터 타입


누군가의 이름, 나이, 로그인 여부를 저장해 본다면 이미 세 가지 서로 다른 종류의 값을 사용한 셈입니다. 이름은 텍스트이고, 나이는 숫자이며, 로그인 여부는 예/아니오로 표현되는 값입니다. JavaScript는 이 각각을 별개의 타입으로 취급하고, 서로 다른 방식으로 처리합니다. 이 장에서는 가장 먼저 마주치게 될 몇 가지 타입과, 지금 다루고 있는 값이 어떤 타입인지 확인하는 방법을 다룹니다.
기본 타입
세 가지 타입이 여러분이 저장하는 값의 대부분을 차지합니다. **문자열(string)**은 인용부호로 감싼 텍스트입니다. **숫자(number)**는 세거나 계산할 때 쓰는 모든 수입니다. **불리언(boolean)**은 예/아니오 값이며, true 또는 false 두 가지 선택지만 가집니다.
const name = "지민"; // 문자열: 텍스트
const age = 27; // 숫자
const isLoggedIn = true; // 불리언: true 또는 false이름, 메시지, 색상처럼 단어로 표현되는 것에는 문자열을 사용합니다. 세거나 계산할 수 있는 것에는 숫자를 사용합니다. 체크박스가 선택되었는지처럼 답이 둘 중 하나인 경우에는 불리언을 사용합니다. 이 타입들은 문자열과 숫자에서 더 자세히 다룹니다.
string, 수치는 number, true 또는 false 답은 boolean입니다. 저장하려는 것의 종류에 맞는 타입을 고르세요. 이름은 문자열, 나이는 숫자, 체크박스는 불리언입니다. 없음: null과 undefined
값이 없을 때도 있는데, JavaScript는 이를 표현하는 두 가지 방법을 가지고 있습니다. **undefined**는 아직 아무 값도 주어지지 않았다는 뜻입니다. 변수를 만들었지만 값을 설정하지 않으면, 그 값은 undefined가 됩니다.
let score;
console.log(score); // undefinednull은 의도적으로 비어 있다는 뜻입니다. "지금은 값이 없고, 그것은 의도된 것이다"라고 말하고 싶을 때 직접 사용합니다.
let winner = null;
console.log(winner); // null짧게 말하면, undefined는 JavaScript가 "여기 아직 아무것도 없다"라고 말하는 것이고, null은 여러분이 "여기 아무것도 없다, 의도적으로"라고 말하는 것입니다.
undefined는 아무것도 설정되지 않았을 때 JavaScript가 기본으로 주는 값입니다. null은 "의도적으로 비어 있다"는 뜻으로 직접 작성하는 값입니다. 변수에 값을 준 적이 없다면 undefined가 나올 것입니다. typeof로 타입 확인하기
어떤 값의 타입이 확실하지 않을 때, typeof가 알려줍니다. 값 앞에 붙이면 그 타입의 이름을 담은 문자열을 반환합니다.
console.log(typeof "지민"); // "string"
console.log(typeof 27); // "number"
console.log(typeof true); // "boolean"결과는 항상 텍스트이고, "number"처럼 **문자열**로 나오며, 타입 자체가 나오는 것이 아니라는 점에 주목하세요. 값을 사용하기 전에 무엇을 다루고 있는지 확인하고 싶을 때 유용합니다.
typeof를 붙이면 "number"처럼 문자열로 타입을 알려줍니다. 지금 다루는 값이 무엇인지 확신이 안 갈 때 가장 빠르게 확인하는 방법입니다. 결과는 항상 텍스트이므로, typeof 27은 인용부호까지 포함해 "number"를 줍니다. 타입의 더 큰 그림
지금까지 문자열, 숫자, 불리언, 그리고 null과 undefined라는 일상적인 타입들을 배웠습니다. 작은 프로그램이 필요로 하는 것의 대부분을 저장하기에는 충분합니다. 이후 장들에서는 값들을 묶는 방법을 다루지만, 그런 묶음들도 결국 여러분이 이미 본 단순한 타입들로 이루어져 있습니다.
지금 얻은 성과는, 모든 값이 타입을 가지며 그 타입이 그 값으로 무엇을 할 수 있는지를 결정한다는 점을 아는 것입니다. 숫자는 더할 수 있고, 문자열은 이어붙일 수 있고, 불리언은 확인할 수 있습니다. 다음 단계로 연산자를 염두에 두세요. 이 값들을 조합하기 시작하는 지점이 바로 거기입니다.
null과 undefined 같은 일상적인 타입들이 작은 프로그램이 저장하는 것 대부분을 다룹니다. 이후 장들에서는 값들을 묶지만, 그것들도 결국 이 타입들로 이루어져 있습니다. 여기서부터 타입은 어디로 이어질까
여러분이 작성하는 모든 값, 다시 읽어들이는 모든 값에는 타입이 있고, 그 타입을 능숙하게 알아채는 것이 이후 모든 내용의 기반이 됩니다. 다음 장들에서는 가장 자주 다루게 될 두 타입을 깊게 파고듭니다. 텍스트를 다루는 문자열과, 계산을 위한 숫자입니다. 그다음 연산자에서는 이 타입들이 서로 만나기 시작합니다. 비교하고, 조합하고, 때로는 변환하면서 말이죠. 지금 다루는 값의 타입을 아는 것이 바로 이 과정에서 놀라지 않게 해주는 힘입니다.

