JS 1.4 · 1부. 기본 문법

데이터 타입

숫자·문자열·불리언·undefined·null 을 구분하고 typeof 로 확인합니다.

예상 학습 시간 14분 실행 단추가 있는 예제는 고쳐서 실행해 볼 수 있습니다 난이도 입문
개념 설명

값에도 종류가 있습니다

27"27" 은 화면에 같아 보이지만 다른 값입니다. 앞엣것은 숫자라서 계산할 수 있고, 뒤엣것은 글자라서 이어 붙일 수 있습니다. 값의 이런 종류를 타입(type) 이라고 합니다.

처음에 알아 둘 것은 다섯 가지입니다.

  • number — 숫자입니다. 27, 3.14
  • string — 글자입니다. "홍길동"
  • boolean — 참과 거짓입니다. true, false
  • undefined — 값을 아직 넣지 않았습니다.
  • null — 값이 없다고 일부러 적어 둔 것입니다.
최소 예제 · 편집 가능

typeof 로 종류 확인하기

typeof 를 값 앞에 적으면 그 값의 종류를 글자로 돌려줍니다.

script.js
console.log(typeof 27);
console.log(typeof "홍길동");
console.log(typeof true);
console.log(typeof undefined);
console.log(typeof null);
출력
number string boolean undefined object

마지막 줄만 예상과 다릅니다. null 의 타입은 "null" 이 아니라 "object" 로 나옵니다. 아래 흔한 실수에서 다시 다룹니다.

상세 사용법

숫자와 글자를 더하면

+ 는 숫자끼리는 더하고, 글자가 섞이면 이어 붙입니다. 어느 쪽인지 헷갈리면 결과가 달라집니다.

script.js
console.log(1 + 2);
console.log("1" + "2");
console.log(1 + "2");
출력
3 12 12

셋째 줄에서는 숫자 1 이 글자 "1" 로 바뀐 뒤 이어 붙습니다. 입력 칸에서 읽은 값은 늘 글자이므로, 계산에 사용할 때 이 점을 주의해야 합니다.

상세 사용법

undefined 와 null

둘 다 값이 없다는 뜻이지만 나오는 자리가 다릅니다. undefined 는 값을 넣지 않았을 때 저절로 들어가고, null 은 사람이 직접 적습니다.

script.js
let notYet;
console.log(notYet);

let nothing = null;
console.log(nothing);
출력
undefined null

값을 넣지 않고 선언하려면 let 을 사용해야 합니다. const 는 선언할 때 값을 함께 넣어야 합니다.

상세 사용법

숫자로 바꾸기

글자로 된 숫자를 계산에 사용하려면 Number 로 바꿉니다.

script.js
const text = "27";
console.log(text + 3);
console.log(Number(text) + 3);
console.log(typeof Number(text));
출력
273 30 number
흔한 실수

처음에 자주 걸리는 것

1. typeof null 이 "object" 로 나옵니다

JavaScript 가 처음 만들어질 때부터 있던 것이라 지금도 그대로입니다. 고치면 예전에 작성된 코드가 깨지므로 바꾸지 않습니다. null 인지 확인할 때는 typeof 가 아니라 값 === null 로 확인합니다.

2. 글자로 된 숫자를 그대로 계산합니다

"10" + 515 가 아니라 "105" 입니다. 계산하려면 Number 로 먼저 바꿔야 합니다.

3. 값을 넣지 않고 const 로 선언합니다

const 는 선언할 때 값을 함께 넣어야 합니다.

SyntaxError: Missing initializer in const declaration
실습 문제

직접 해보기

1. 네 가지 타입 확인하기 난이도 하

이름·나이·회원 여부를 각각 변수에 담고, 세 값의 typeof 결과를 한 줄에 출력하세요.

쉼표로 구분하면 한 줄에 여러 값을 낼 수 있습니다.
const name = "홍길동"; const age = 27; const isMember = true; console.log(typeof name, typeof age, typeof isMember);
2. 결과 예측하기 난이도 중

아래 세 줄의 결과를 먼저 적어 보고, 편집기에 넣어 실행해 확인하세요.

console.log("5" + 5); console.log(Number("5") + 5); console.log(typeof ("5" + 5));
55 10 string
요약

이 단원의 정리

  • 처음 알아 둘 타입은 number · string · boolean · undefined · null 입니다.
  • typeof 로 값의 종류를 확인합니다.
  • typeof null"object" 로 나옵니다. === null 로 확인합니다.
  • + 는 글자가 섞이면 더하지 않고 이어 붙입니다.
  • 글자로 된 숫자는 Number 로 바꿔 계산합니다.