데이터 타입
숫자·문자열·불리언·undefined·null 을 구분하고 typeof 로 확인합니다.
값에도 종류가 있습니다
27 과 "27" 은 화면에
같아 보이지만 다른 값입니다. 앞엣것은 숫자라서 계산할 수 있고, 뒤엣것은 글자라서
이어 붙일 수 있습니다. 값의 이런 종류를 타입(type) 이라고 합니다.
처음에 알아 둘 것은 다섯 가지입니다.
- number — 숫자입니다.
27,3.14 - string — 글자입니다.
"홍길동" - boolean — 참과 거짓입니다.
true,false - undefined — 값을 아직 넣지 않았습니다.
- null — 값이 없다고 일부러 적어 둔 것입니다.
typeof 로 종류 확인하기
typeof 를 값 앞에 적으면 그 값의 종류를 글자로
돌려줍니다.
console.log(typeof 27); console.log(typeof "홍길동"); console.log(typeof true); console.log(typeof undefined); console.log(typeof null);
마지막 줄만 예상과 다릅니다. null 의 타입은
"null" 이 아니라
"object" 로 나옵니다. 아래 흔한 실수에서 다시
다룹니다.
숫자와 글자를 더하면
+ 는 숫자끼리는 더하고, 글자가 섞이면 이어 붙입니다.
어느 쪽인지 헷갈리면 결과가 달라집니다.
console.log(1 + 2); console.log("1" + "2"); console.log(1 + "2");
셋째 줄에서는 숫자 1 이 글자
"1" 로 바뀐 뒤 이어 붙습니다. 입력 칸에서 읽은 값은
늘 글자이므로, 계산에 사용할 때 이 점을 주의해야 합니다.
undefined 와 null
둘 다 값이 없다는 뜻이지만 나오는 자리가 다릅니다.
undefined 는 값을 넣지 않았을 때 저절로 들어가고,
null 은 사람이 직접 적습니다.
let notYet; console.log(notYet); let nothing = null; console.log(nothing);
값을 넣지 않고 선언하려면 let 을 사용해야 합니다.
const 는 선언할 때 값을 함께 넣어야 합니다.
숫자로 바꾸기
글자로 된 숫자를 계산에 사용하려면 Number 로 바꿉니다.
const text = "27"; console.log(text + 3); console.log(Number(text) + 3); console.log(typeof Number(text));
처음에 자주 걸리는 것
JavaScript 가 처음 만들어질 때부터 있던 것이라 지금도 그대로입니다. 고치면
예전에 작성된 코드가 깨지므로 바꾸지 않습니다.
null 인지 확인할 때는
typeof 가 아니라
값 === null 로 확인합니다.
"10" + 5 는 15 가
아니라 "105" 입니다. 계산하려면
Number 로 먼저 바꿔야 합니다.
const 는 선언할 때 값을 함께 넣어야 합니다.
SyntaxError: Missing initializer in const declaration
직접 해보기
이름·나이·회원 여부를 각각 변수에 담고, 세 값의
typeof 결과를 한 줄에 출력하세요.
아래 세 줄의 결과를 먼저 적어 보고, 편집기에 넣어 실행해 확인하세요.
이 단원의 정리
- 처음 알아 둘 타입은 number · string · boolean · undefined · null 입니다.
typeof로 값의 종류를 확인합니다.typeof null은"object"로 나옵니다.=== null로 확인합니다.+는 글자가 섞이면 더하지 않고 이어 붙입니다.- 글자로 된 숫자는
Number로 바꿔 계산합니다.