JS LAB
JS 1.6 · 1부. 기본 문법

숫자와 연산자

사칙연산과 나머지, 증감, 연산 우선순위를 봅니다.

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

계산에 사용하는 기호

JavaScript 에는 정수와 소수를 나누는 구분이 없습니다. 둘 다 number 하나입니다. 계산에 사용하는 기호는 다섯 가지입니다.

  • + 더하기 · - 빼기
  • * 곱하기 · / 나누기
  • % 나머지
최소 예제 · 편집 가능

다섯 가지 계산

script.js
console.log(7 + 2);
console.log(7 - 2);
console.log(7 * 2);
console.log(7 / 2);
console.log(7 % 2);
출력
9 5 14 3.5 1

넷째 줄을 보세요. 7 / 23 이 아니라 3.5 입니다. 나눈 몫만 필요하다면 아래에서 다루는 방법을 사용합니다.

상세 사용법

나머지의 쓸모

% 는 나눈 뒤 남는 값입니다. 홀수와 짝수를 가릴 때 자주 사용합니다.

script.js
console.log(10 % 2);
console.log(11 % 2);
console.log(10 % 3);
출력
0 1 1

2 로 나눈 나머지가 0 이면 짝수입니다.

상세 사용법

초를 분과 초로 나누기

Math.floor 는 소수점 아래를 버립니다. 몫은 Math.floor, 나머지는 % 로 얻습니다.

script.js
const total = 197;

const minutes = Math.floor(total / 60);
const seconds = total % 60;

console.log(`${minutes}분 ${seconds}초`);
출력
3분 17초
상세 사용법

1씩 늘리고 줄이기

count = count + 1 은 자주 나오는 코드라 짧게 적는 방법이 따로 있습니다.

script.js
let count = 0;

count++;
console.log(count);

count += 5;
console.log(count);

count--;
console.log(count);
출력
1 6 5

+=-= · *= · /= 처럼 다른 기호에도 같은 방식으로 사용할 수 있습니다.

상세 사용법

계산 순서

곱하기와 나누기가 더하기와 빼기보다 먼저입니다. 순서를 바꾸려면 괄호를 사용합니다.

script.js
console.log(2 + 3 * 4);
console.log((2 + 3) * 4);
출력
14 20

헷갈릴 것 같으면 괄호를 적으세요. 없어도 되는 괄호가 읽는 사람에게는 도움이 됩니다.

흔한 실수

처음에 자주 걸리는 것

1. 소수 계산이 딱 떨어지지 않습니다

0.1 + 0.20.3 이 아니라 0.30000000000000004 입니다. 컴퓨터가 소수를 담는 방식 때문이며 JavaScript 만의 일이 아닙니다. 돈처럼 정확해야 하는 값은 원 단위 정수로 다루는 방법을 씁니다.

2. 0으로 나눕니다

오류가 나지 않고 Infinity 가 나옵니다. 계산 결과가 이상하면 나누는 값이 0이 아닌지 확인하세요.

3. 계산할 수 없는 값을 계산합니다

숫자로 바꿀 수 없는 글자를 계산하면 NaN 이 나옵니다. Not a Number 의 줄임말입니다.

console.log(Number("스물일곱") + 3);   // NaN
실습 문제

직접 해보기

1. 초를 시·분·초로 나누기 난이도 하

7325 초를 2시간 2분 5초 형태로 출력하세요.

한 시간은 3600초입니다. 시를 먼저 구하고, 남은 초로 분을 구합니다.
const total = 7325; const hours = Math.floor(total / 3600); const minutes = Math.floor((total % 3600) / 60); const seconds = total % 60; console.log(`${hours}시간 ${minutes}분 ${seconds}초`);
2. 할인 금액 계산하기 난이도 중

가격 18000 원에 15% 할인을 적용한 금액을 출력하세요. 소수점이 나오면 Math.floor 로 버립니다.

const price = 18000; const paid = Math.floor(price * 0.85); console.log(paid); // 15300
요약

이 단원의 정리

  • 정수와 소수의 구분이 없습니다. 모두 number 입니다.
  • / 는 소수까지 냅니다. 몫만 필요하면 Math.floor 를 사용합니다.
  • % 는 나머지입니다. 홀짝을 가릴 때 사용합니다.
  • count++count += 5 로 짧게 적습니다.
  • 곱하기·나누기가 먼저입니다. 헷갈리면 괄호를 적습니다.