JavaScript/함수/Lesson 07
함수 — *재사용 가능한 코드 블록*
45분·theory
이 챕터
1/4
함수 — *재사용 가능한 코드 블록*
🎯 이 lesson 을 읽고 나면
이 lesson 을 다 읽고 나면 아래 3가지를 자신 있게 할 수 있습니다.
- ▸✅ 함수 선언식 vs 표현식 + hoisting 차이
- ▸✅ 매개변수 기본값 + rest · spread 사용
- ▸✅ 순수 함수 / 부수효과 / 일급 함수 정의
학습 목표를 체크리스트로 두고 다 답할 수 있게 되면 lesson 을 닫으세요.
함수 작성 4가지 방법
함수의 본질
함수 = 입력을 받아 처리 후 결과를 돌려주는 재사용 가능한 코드 블록. JS 에서 함수는 일등 시민 (first-class citizen) — 변수처럼 다룰 수 있습니다.
4가지 작성 방법
함수 선언 vs 화살표 함수 — 어느 걸?
함수 선언:
- ▸호이스팅 (선언 전 사용 가능)
- ▸자체
this보유 - ▸
function키워드
화살표 함수:
- ▸호이스팅 X (위에서 사용 불가)
- ▸주변 this 사용 (가장 큰 차이)
- ▸더 짧음
현장 합의: 대부분 화살표 함수. 클래스 메서드·생성자 에서만 일반 함수.
매개변수 패턴
함수가 값 이다
이게 함수형 프로그래밍 의 기반. 콜백·고차 함수·클로저 모두 이 위에 동작.
순수 함수 (Pure Function) — 권장 패턴
순수 함수의 장점:
- ▸테스트 쉬움 — 입출력만 검증
- ▸예측 가능
- ▸병렬 처리 안전
- ▸캐싱 가능 (메모이제이션)
흔한 함정
1. return 잊기:
2. 화살표 함수의 this:
한 번 정리
- ▸화살표 함수 가 모던 표준
- ▸함수는 값 — 전달·리턴·저장 가능
- ▸순수 함수 가 안전한 패턴
- ▸매개변수 기본값·rest·구조 분해 적극 활용
⚡ 직접 해보기 — 함수 4가지 + 기본값 · rest
함수 작성 4가지와 매개변수 패턴을 한 번에 실행해 결과를 비교.
✏️ JS 코드
📟 콘솔 출력
▶ 실행 버튼을 눌러보세요
⚠️ 브라우저 샌드박스에서 실행 — console.log()만 지원, alert/fetch 불가
🤖 AI 에게 이렇게 요청해보세요
이 lesson 의 개념을 알면 AI 에게 구체적으로 지시할 수 있습니다. 막연한 "고쳐줘" 가 아니라 어휘를 가진 요청 — 그게 토큰 절약의 출발점입니다.
- ▸"이 function 선언을 arrow function 으로 바꾸고 this 바인딩 차이 점검해줘"
- ▸"이 함수를 순수 함수로 리팩토링 (부수효과 제거) 해줘"
- ▸"이 함수에 적절한 매개변수 기본값 + 구조분해 적용해줘"
왜 이게 토큰을 줄이나
개념을 모를 땐 AI 답변을 받고도 "그게 뭐예요?" 를 다시 물어야 합니다. 그 "다시 물음" 이 토큰을 잡아먹습니다. 개념 한 번 익혀두면 대화가 한 번에 끝납니다.
먼저 읽으면 좋은 개념: 타입 변환과 동등 비교
다음 추천: 화살표 함수