Java를 배웠다면 JavaScript는 훨씬 자유롭게 느껴질 겁니다.
하지만 자유로운 만큼 규칙을 정확히 알고 써야 사고가 안 납니다!
JavaScript는 크게 두 가지로 이루어져 있습니다.
변수 — 값을 담는 그릇
값 — 변수에 담기는 데이터
| 값의 종류 | 예시 |
|---|---|
| 숫자 | 1, 1.5 |
| 문장 | "안녕", "잘가세요." |
| 논리 | true, false |
| 객체 | {이름: "홍길동", 나이: 22} |
| 함수 | function() {} |
조건문 — if, else if, else
반복문 — while, for
JavaScript에는 변수를 선언하는 방법이 세 가지 있습니다.
| 키워드 | 재선언 | 재할당 | 특징 |
|---|---|---|---|
var | ✅ 가능 | ✅ 가능 | 아주 자유로움, 실수하기 쉬움 |
let | ❌ 불가 | ✅ 가능 | 약간의 규칙이 생김 |
const | ❌ 불가 | ❌ 불가 | 규칙 강함, 상수에 사용 |
console.clear();
// ── var ──────────────────────────────
console.log("== var ==");
// var : 재할당, 재선언 모두 가능
var a = 10;
console.log(a); // 10
var a = 10; // ✅ 재선언 가능
a = 20; // ✅ 재할당 가능
console.log(a); // 20
// ── let ──────────────────────────────
console.log("== let ==");
// let : 재할당 가능, 재선언 불가능
let b = 10;
console.log(b); // 10
// let b = 10; // ❌ 재선언 불가
b = 20; // ✅ 재할당 가능
console.log(b); // 20
// ── const ────────────────────────────
console.log("== const ==");
// const : 재할당, 재선언 모두 불가능
const c = 10;
// const c = 10; // ❌ 재선언 불가
// c = 20; // ❌ 재할당 불가
console.log(c); // 10
// 출력 결과
== var ==
10
20
== let ==
10
20
== const ==
10
⚠️ 실무에서는
var를 거의 쓰지 않습니다.
재선언이 가능해서 실수로 같은 이름의 변수를 덮어써도 오류가 나지 않아 버그를 찾기 어렵습니다.
기본적으로const를 쓰고, 값이 바뀌어야 할 때만let을 쓰는 습관을 들이세요!
| 연산자 | 의미 | 예시 |
|---|---|---|
+ | 더하기 | 3 + 2 → 5 |
- | 빼기 | 3 - 2 → 1 |
* | 곱하기 | 3 * 2 → 6 |
/ | 나누기 | 6 / 2 → 3 |
| 연산자 | 의미 | 예시 |
|---|---|---|
== | 같다 | 3 == 3 → true |
!= | 다르다 | 3 != 4 → true |
> | 크다 (초과) | 5 > 3 → true |
< | 작다 (미만) | 2 < 3 → true |
>= | 크거나 같다 (이상) | 3 >= 3 → true |
<= | 작거나 같다 (이하) | 2 <= 3 → true |
&& | 그리고 (and) | true && false → false |
\|\| | 또는 (or) | true \|\| false → true |
조건에 따라 실행할 코드를 분기하는 문법입니다.
if (조건1) {
// 조건1이 true일 때
} else if (조건2) {
// 조건1은 false, 조건2가 true일 때
} else {
// 모든 조건이 false일 때
}
const score = 85;
if (score >= 90) {
console.log("A등급");
} else if (score >= 80) {
console.log("B등급");
} else if (score >= 70) {
console.log("C등급");
} else {
console.log("F등급");
}
// 출력 결과
B등급
const age = 20;
const hasId = true;
// && : 둘 다 true여야 true
if (age >= 19 && hasId) {
console.log("입장 가능");
} else {
console.log("입장 불가");
}
// 출력 결과
입장 가능
💡
&&는 두 조건이 모두 true여야 true
||는 둘 중 하나라도 true면 true
| 포인트 | 내용 |
|---|---|
📦 var | 재선언 · 재할당 모두 가능, 실무에서 비권장 |
📦 let | 재선언 불가, 재할당 가능 |
📦 const | 재선언 · 재할당 모두 불가, 기본값으로 사용 |
| 🔢 사칙연산 | + - * / |
| 🔀 논리연산 | == != > < >= <= && \|\| |
| 🔀 조건문 | if → else if → else 순서로 분기 |