inblog logo
|
DailyCoding
    Java Script

    9. 함수(Function)

    박은서's avatar
    박은서
    Jan 13, 2026
    9. 함수(Function)
    Contents
    1. 함수(Function)1️⃣ 함수란?2️⃣ 함수 정의 방식 (여러 스타일 지원)3️⃣ 함수의 핵심 개념4️⃣ 자바스크립트 함수 = 1급 객체5️⃣ 함수가 1급 객체라서 가능한 기능6️⃣ 핵심 요약7️⃣ 실습

    1. 함수(Function)

    1️⃣ 함수란?

    1) 개념

    특정 작업을 수행하는 코드 묶음
    필요할 때 호출하여 반복 사용 가능

    2) 기본 형태

    function add(a, b) { return a + b; }
    • a, b → 매개변수(parameter)
    • return → 결과 반환
    • 호출: add(1,2)

    2️⃣ 함수 정의 방식 (여러 스타일 지원)

    1) 함수 선언식

    function greet() { console.log("hello"); }
    • 호이스팅 적용됨 (선언 전에 호출 가능)

    2) 함수 표현식

    const greet = function() { console.log("hi"); }
    • 변수에 함수를 저장
    • 호이스팅 안 됨 (변수 선언 후 사용 가능)

    3) 화살표 함수(Arrow Function)

    const add = (a, b) => a + b;
    • 코드를 더 간결하게 작성
    • this 바인딩 방식이 다름

    4) 익명 함수 (이름 없는 함수)

    setTimeout(function() { console.log("delay"); }, 1000);

    5) 즉시 실행 함수 (IIFE)

    (function() { console.log("run once"); })();

    3️⃣ 함수의 핵심 개념

    1) 매개변수(Parameter) & 인수(Argument)

    • 함수 선언부 괄호 안에 있는 것 → 매개변수
    • 실제로 전달하는 값 → 인수

    2) return

    • 값을 반환하지 않으면 undefined 반환

    3) 스코프(scope)

    • 함수 내부에서 선언한 변수는 밖에서 접근 불가
    function test(){ let x = 10; } console.log(x); // error

    4️⃣ 자바스크립트 함수 = 1급 객체

    1) “함수는 1급 객체(First-class Object)”란?

    자바스크립트에서는 함수를 값으로 취급한다는 의미
    즉, 함수가 일반 변수처럼 사용 가능!

    2) 1급 객체 조건

    함수는 다음이 모두 가능
    ① 변수에 저장할 수 있다
    const hello = function(){};
    ② 다른 함수의 인자로 전달할 수 있다
    setTimeout(hello, 1000);
    ③ 함수가 함수를 반환할 수 있다
    function outer() { return function inner() {}; }
    ④ 데이터 구조에 저장 가능
    const arr = [hello]; const obj = { fn: hello };
    ➡ 즉, 함수를 숫자/문자처럼 다룰 수 있다는 뜻!

    5️⃣ 함수가 1급 객체라서 가능한 기능

    1) 고차 함수(Higher-order function)

    함수를 인수로 받거나 반환하는 함수
    function repeat(fn) { fn(); } repeat(() => console.log("call"));

    2) 콜백(callback)

    setTimeout(() => console.log("done"), 500);

    3) 함수형 프로그래밍 스타일

    [1,2,3].map(x => x * 2);

    4) 클로저(Closure)

    함수 안 함수가 외부 값을 기억하는 것

    6️⃣ 핵심 요약

    개념
    한 줄 설명
    함수(Function)
    재사용 가능한 코드 묶음
    함수 선언/표현식
    정의하는 여러 방법 존재
    return
    값을 호출한 곳으로 돌려줌
    스코프
    함수 내부 변수는 외부에서 접근 X
    1급 객체
    함수가 일반 값처럼 다뤄질 수 있는 객체
    ➡️ 따라서
    JS 함수는 변수에 담기고, 전달되고, 리턴될 수 있는 1급 시민

    7️⃣ 실습

    1) 함수 기본

    // 함수 (상태 x) // f(x) = x+1 function f(x) { return x+1; } let num = f(5); console.log(num);
    notion image
    ➡️ 이건 es5 문법!

    2) 연산 함수

    function f(x, y) { return x+y; } let num = f(5, 10); console.log(num);
    notion image

    3) 연산 함수 (5 + “십”)

    function f(x, y) { return x+y; } let num = f(5, "십"); console.log(num);
    notion image

    4) 연산 함수 (5 + “10”)

    function f(x, y) { return x+y; } let num = f(5, "10"); console.log(num);
    notion image
    ➡️ 타입이 고정되어 있지 않기 때문에 불안함
    Share article
    Contents
    1. 함수(Function)1️⃣ 함수란?2️⃣ 함수 정의 방식 (여러 스타일 지원)3️⃣ 함수의 핵심 개념4️⃣ 자바스크립트 함수 = 1급 객체5️⃣ 함수가 1급 객체라서 가능한 기능6️⃣ 핵심 요약7️⃣ 실습

    DailyCoding

    RSS·Powered by Inblog