수학 계산을 할 때 사용하는 연산자
| 종류 | 설명 | 예시 |
|---|---|---|
+ | 두 피연산자의 값을 더한다. | c = a + b |
- | 첫 번째 피연산자 값에서 두 번째 피연산자 값을 뺀다. | c = a - b |
* | 두 피연산자의 값을 곱한다. | c = a * b |
/ | 첫 번째 피연산자 값을 두 번째 피연산자 값으로 나눈다. | c = a / b |
% | 첫 번째 피연산자 값을 두 번째 피연산자 값으로 나눈 나머지를 구한다. | c = a % b |
++ | 피연산자 1 증가 | a++ |
-- | 피연산자 1 감소 | b-- |

수학 계산을 할 때 사용하는 연산자
| 종류 | 설명 | 예시 |
|---|---|---|
= | 연산자 오른쪽의 값을 왼쪽 변수에 할당함. | y = x + 3 |
+= | y = y + x를 의미 | y += x |
-= | y = y - x를 의미 | y -= x |
*= | y = y * x를 의미 | y *= x |
/= | y = y / x를 의미 | y /= x |
%= | y = y % x를 의미 | y %= x |
피연산자 2개의 값을 비교해서 true나 false로 결괏값 반환
| 종류 | 설명 | 조건식 | 결과값 |
|---|---|---|---|
== | 피연산자가 서로 같으면 true | 3 == "3" | true |
=== | 피연산자도 같고 자료형도 같으면 true | 3 === "3" | false |
!= | 피연산자가 서로 같지 않으면 true | 3 != "3" | false |
!== | 피연산자가 같지 않거나 자료형이 같지 않으면 true | 3 !== "3" | true |
< | 왼쪽 피연산자가 오른쪽 피연산자보다 작으면 true | 3 < 4 | true |
<= | 왼쪽 피연산자가 오른쪽 피연산자보다 작거나 같으면 true | 3 <= 4 | true |
> | 왼쪽 피연산자가 오른쪽 피연산자보다 크면 true | 3 > 4 | false |
>= | 왼쪽 피연산자가 오른쪽 피연산자보다 크거나 같으면 true | 3 >= 4 | false |
console.log(3 == "3") // true
console.log(3 != "3") // false
console.log(3 === "3") // false
console.log(3 !== "3") // true
| 종류 | 기호 | 설명 |
|---|---|---|
| OR 연산자 | 피연산자 중 하나만 true여도 true가 됨. | |
| AND 연산자 | && | 피연산자가 모두 true일 경우에만 true가 됨. |
| NOT 연산자 | ! | 피연산자의 반댓값을 지정함. |
하나의 if ~ else 문 안에 다른 if ~ else 문을 넣을 수 있음.if (조건) {
조건 결과값이 true일 때 실행할 명령
}
if (조건) {
조건 결과 값이 true일 때 실행할 명령
} else {
조건 결과 값이 false일 때 실행할 명령
}
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>조건문</title>
</head>
<body>
<script>
let number = parseInt(prompt('숫자를 입력하세요!'))
if (number % 5 == 0){
alert('5의 배수 입니다!')
} else {
alert('5의 배수가 아닙니다!')
}
</script>
</body>
</html>

<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>조건문</title>
</head>
<body>
<script>
let number = prompt('숫자를 입력하세요!')
if (number !== null){
if (number % 5 == 0){
alert('5의 배수 입니다!')
} else {
alert('5의 배수가 아닙니다!')
}
} else {
alert('취소버튼을 눌렀습니다.');
}
</script>
</body>
</html>

조건이 하나이고 true, false일 때 실행할 명령이 각각 1개 뿐일 때 간단하게 사용할 수 있음!(조건) ? true일 때 실행할 명령 : false일 때 실행할 명령<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>조건문</title>
</head>
<body>
<script>
let number = prompt('숫자를 입력해주세요')
if (number !== null){
// 삼항 연산자 사용
(number % 5 == 0)? alert('5의 배수 입니다.'): alert('5의 배수가 아닙니다.')
} else {
alert('취소 버튼을 입력하셨습니다')
}
</script>
</body>
</html>

AND 연산자 (&&)
| op 1 | op 2 | op 1 && op 2 |
|---|---|---|
| false | false | false |
| false | true | false |
| true | false | false |
| true | true | true |
OR 연산자 (||)
||)피연산자 2개 중에서 true가 하나라도 있으면 결과값이 true
| op 1 | op 2 | op 1 |
|---|---|---|
| false | false | false |
| false | true | true |
| true | false | true |
| true | true | true |
NOT 연산자 (!)
| op | !op |
|---|---|
| false | true |
| true | false |
처리할 명령이 많을 경우 switch 문이 편리 switch (조건) {
case 값1 : 명령 1
break;
case 값2 : 명령 2
break;
...
default: 명령 n
}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>세션 선택 - switch문</title>
<link rel="stylesheet" href="css/switch.css">
</head>
<body>
<script>
let num = parseInt(prompt("관심 세션을 선택해 주세요. 1-마케팅, 2-개발, 3-디자인"))
switch (num) {
case 1 :
document.write("<p>마케팅 세션은 <strong>201호</strong>에서 진행됩니다.</p>");
break;
case 2 :
document.write("<p>개발 세션은 <strong>203호</strong>에서 진행됩니다.</p>");
break;
case 3 :
document.write("<p>디자인 세션은 <strong>205호</strong>에서 진행됩니다.</p>");
break;
// 1,2,3을 제외한 다른 값 입력시 '잘못입력하셨습니다!'가 뜸
default :
alert("잘못입력하셨습니다!")
}
</script>
</body>
</html>

반복적으로 실행해야하는 코드가 존재할 때 사용된다.for (초깃값; 조건; 증감식) {
실행할 명령;
}
let num = 0
for (i=1;i<6;i++){
num = num + i;
console.log(`${num} = ${num-i} + ${i}`)
}
// 최종적인 num값
console.log(num)
- 카운터 변수 1로 설정
- i가 1이기 때문에 1 < 6 이라서 조건 만족함
그래서 num = num + i;를 실행한 뒤
i++실행 (1에서 1 증가 = 2)- i가 2이기 때문에 2 < 6 이라서 조건 만족함
그래서 num = num + i;를 실행한 뒤
i++실행 (2에서 1 증가 = 3)
…- i가 5이기 때문에 5 < 6 이라서 조건 만족함
그래서 num = num + i;를 실행한 뒤
i++실행 (5에서 1 증가 = 5)- i가 6이기 때문에 6 < 6 이라서 조건 불만족!
그래서 for문을 빠져나옴

for(i=1;i<10;i++){
for(j=1;j<10;j++){
console.log(`${i} X ${j} = ${i*j}`)
}
console.log("")
}
1단
1. i는 1부터 시작, 1 < 10 성립, 다음 for문으로 들어감
2. j는 1부터 시작, 1 < 10 성립, console.log 실행
(현재 i = 1, j = 1)
i++가 실행되면서 1이 2가 됨.
3. j가 2가 되면서 2 < 10 성립, console.log 실행
(현재 i = 1, j = 2)
i++가 실행되면서 2가 3이 됨.
…
9. j가 8이 되면서 8 < 10 성립, console.log 실행
(현재 i = 1, j = 8)
i++가 실행되면서 8이 9가 됨.
10. j가 9가 되면서 9 < 10 성립, console.log 실행
(현재 i = 1, j = 9)
i++가 실행되면서 9가 10이 됨.
11. j가 10이 되면서 10 < 10 성립 X
for문 빠져나옴 ➡️ i가 있는 for문으로 돌아가서
i++ 실행 ➡️ i가 1에서 2가 됨.
2단
1. i가 2부터 시작, 2 < 10 성립, 다음 for문으로 들어감
2. j는 다시 1부터 시작, 1 < 10 성립, console.log 실행
(현재 i = 2, j = 1)
i++가 실행되면서 1이 2가 됨.
3. j가 2가 되면서 2 < 10 성립, console.log 실행
(현재 i = 2, j = 2)
i++가 실행되면서 2가 3이 됨.
…
9. j가 8이 되면서 8 < 10 성립, console.log 실행
(현재 i = 2, j = 8)
10. j가 9가 되면서 9 < 10 성립, console.log 실행
(현재 i = 2, j = 9)
i++가 실행되면서 9가 10이 됨.
11. j가 10이 되면서 10 < 10 성립 X
for문 빠져나옴 ➡️ i가 있는 for문으로 돌아가서
i++ 실행 ➡️ i가 2에서 3이 됨.
3단
…




while (조건) {
실행할 명령
}<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>while</title>
<style>
body {
font-size:2em;
display: flex;
justify-content: center;
align-items: center;
height: 100vh;
}
</style>
</head>
<body>
<script>
// while문을 사용해 별 표시하기
let stars = parseInt(prompt("몇 개의 별을 표시하나요?"))
// stars가 0 이상이면 true
while(stars > 0){
document.write("<h1>*</h1>");
// stars 를 하나씩 차감
stars --;
}
</script>
</body>
</html>

do {
실행할 명령
} while (조건)<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>while</title>
<style>
body {
font-size:2em;
display: flex;
justify-content: center;
align-items: center;
height: 100vh;
}
</style>
</head>
<body>
<script>
// while문을 사용해 별 표시하기
let stars = parseInt(prompt("몇 개의 별을 표시하나요?"))
// 일단 무조건 한 번은 실행
do{
document.write("<h1>*</h1>");
// stars 하나씩 차감
stars --;
} while(stars > 0) // stars가 0 이상이면 true
</script>
</body>
</html>

break문
종료 조건이 되기 전에 반복문을 빠져나와야 할 때 사용for (i=1; i<10; i++){
for (j=1; j<10; j++){
console.log(`${i} X ${j} = ${i*j}`)
}
console.log("")
if (i==4){ //4단까지만 표시
break;
}
}


continue문
조건이 해당되는 값을 만나면 반복문의 맨 앞으로 이동let n = 10;
let sum = 0;
for (let i=1; i < n+1; i++){
if(i%2 != 0){
continue
}
sum = sum + i
console.log(`sum = ${sum-i} ||| i = ${i}`)
console.log(`${sum-i} + ${i} = ${sum}`)
console.log("")
}
