TIL

[TIL]JavaScript 핵심 개념 정리 (반복문, 객체, 함수)

namerong 2026. 4. 9. 15:39

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 문제점

  1. 중복 선언 가능
  2. 함수 스코프
  3. 호이스팅 문제

let

  • 재할당 가능
  • 블록 스코프
let a = 10;

const

  • 재할당 불가
  • 반드시 초기화 필요
const a = 10;

→ 하지만 객체 내부 값은 변경 가능


사용 기준

  1. 기본 → const
  2. 변경 필요 → let
  3. var → 사용 금지

한줄 정리

  • 반복문 → for / while / 제어문 (break, continue)
  • 객체 → key-value 구조, 동적 추가/삭제 가능
  • 함수 → 선언문 vs 표현식, 콜백, 일급 객체
  • 변수 → const 기본, 필요 시 let