1. 반복문 (Loop)
for문
- 반복 횟수가 명확할 때 사용
- 구조: 초기화 → 조건 → 증감
for (let i = 1; i <= 5; i++) {
console.log(i);
}
예시: 짝수 출력
for (let i = 1; i <= 10; i++) {
if (i % 2 === 0) console.log(i);
}
특징
- 가장 많이 사용되는 반복문
- 인덱스 기반 반복에 적합
while문
- 조건이 참인 동안 반복 실행
let count = 3;
while (count > 0) {
console.log(count);
count--;
}
특징
- 반복 횟수가 불명확할 때 사용
do-while문
- 최소 1번은 무조건 실행됨
do {
console.log("실행");
} while (조건);
continue & break
- continue: 현재 반복 건너뛰고 다음 반복
- break: 반복문 즉시 종료
for (let i = 1; i <= 10; i++) {
if (i % 2 === 0) continue;
console.log(i);
}
for (let i = 1; i <= 10; i++) {
if (i > 5) break;
console.log(i);
}
for...of
- 배열 순회에 사용
for (const num of numbers) {
console.log(num);
}
2. 객체 (Object)
객체란?
- key-value 형태의 데이터 구조
- 함수도 값으로 들어갈 수 있음 → method
const student = {
name: "판다",
age: 1,
getInfo: function () {
return `${this.name}는 ${this.age}세`;
}
};
프로퍼티 접근
// 점 표기법
dog.name;
// 대괄호 표기법
dog['name'];
차이
- . → 일반적인 경우
- [] → 변수/특수문자 키일 때
프로퍼티 변경 / 추가 / 삭제
dog.name = '두부'; // 변경
dog.age = 3; // 추가
delete dog.age; // 삭제
존재 여부 확인
'name' in dog;
객체 순회
for (const key in dog) {
console.log(key, dog[key]);
}
3. 함수 (Function)
함수 선언 vs 표현식
// 선언문
function add(a, b) {
return a + b;
}
// 표현식
const add = function(a, b) {
return a + b;
};
차이
- 선언문 → 호이스팅 가능
- 표현식 → 선언 이후 사용 가능
매개변수 vs 인수
- parameter → 함수 정의 시
- argument → 함수 호출 시
function greet(name) {} // parameter
greet("판다"); // argument
return
- 값을 반환하고 함수 종료
function add(a, b) {
return a + b;
}
→ return 이후 코드는 실행 안됨
함수는 일급 객체
- 변수에 저장 가능
- 함수에 전달 가능
- 함수에서 반환 가능
const func = function() {};
콜백 함수
- 다른 함수의 인자로 전달되는 함수
function calc(fn, a, b) {
return fn(a, b);
}
calc(add, 10, 5);
즉시 실행 함수 (IIFE)
- 정의하자마자 실행되는 함수
(function() {
console.log("즉시 실행");
})();
목적
- 전역 변수 오염 방지
재귀 함수
- 자기 자신을 호출하는 함수
function factorial(n) {
if (n <= 1) return 1;
return n * factorial(n - 1);
}
→ 반드시 종료 조건 필요
4. var vs let vs const
var 문제점
- 중복 선언 가능
- 함수 스코프
- 호이스팅 문제
let
- 재할당 가능
- 블록 스코프
let a = 10;
const
- 재할당 불가
- 반드시 초기화 필요
const a = 10;
→ 하지만 객체 내부 값은 변경 가능
사용 기준
- 기본 → const
- 변경 필요 → let
- var → 사용 금지
한줄 정리
- 반복문 → for / while / 제어문 (break, continue)
- 객체 → key-value 구조, 동적 추가/삭제 가능
- 함수 → 선언문 vs 표현식, 콜백, 일급 객체
- 변수 → const 기본, 필요 시 let
'TIL' 카테고리의 다른 글
| [TIL]JavaScript ES6 핵심 문법 정리 (0) | 2026.04.13 |
|---|---|
| [TIL]JavaScript (생성자 함수, 프로토타입, 배열, 내장 객체) (0) | 2026.04.10 |
| [TIL]JavaScript 기초 문법 정리 (0) | 2026.04.08 |
| [TIL]CSS 핵심 정리 (선택자부터 레이아웃까지) (0) | 2026.04.07 |
| [TIL]HTML 기초 태그 정리 (0) | 2026.04.07 |