JavaScript

JS) Function

dev_roach 2025. 3. 30. 18:39
728x90

Function

함수란 일반적으로 프로그래밍 언어에서 다양한 의미가 있다. 예를들면, 함수형 언어에서는 함수가 정확한 수학적 의미를 지니고 있으며, 준수해야할 엄격한 규칙의 집합이 된다. 우리는 JS 로 개발할때 우리는 함수보다 좀 더 포괄적인 개념인 “프로시저” 를 프로그램에 녹여내야 한다.

문(Statement) 로 함수 선언

Javascript 에서 함수를 선언하기 위해서는 아래와 같이 문으로 함수를 선언(declaration)할수 있다.

function add(a, b) {
    return a + b;
}

console.log(add(1, 2));

 

식(Expression) 이 아니라 문(Statement) 이기 때문에 실행단계에서 선언부와 실제 함수 값이 연관되는 것이 아닌, 컴파일 단계에서 맺어진다. JS 는 함수형 프로그래밍을 지원하는 언어이기 때문에 식과 문을 구별하는 것은 꽤나 중요하다.

식(Expression) 으로 함수 선언

그럼 반대로 식으로 함수를 할당당하는 방법을 알아보자. 식으로 함수를 할당할 수 있다는 건 특정 값(value) 로 평가가 가능하다는 것이다. 즉, 함수형 언어에서 함수 자체가 값으로 이용되게 하려면 함수를 값으로 할당이 가능해야 한다는 것이다. JS 에서는 아래와 같은 방법으로 식으로서 함수를 할당할수 있다.

let f;

f = function(name) {
    return `Hello ${name}`;
}

console.log(f("Kyle")); // Hello Kyle

 

식으로 할당 가능하다는 것은 생각해보면 실행 단계에서 f 와 함수 값의 연관이 이뤄짐을 알 수 있다. 즉, 실행 단계를 진행하다보면 f 가 지닌 함수값이 아래와 같이 다른 함수값일 수도 있다.

 

let f;

f = function(name) {
    return `Hello ${name}`;
}

console.log(f("Kyle")); // Hello Kyle

f = function(name) {
    return `Bye ${name}`;
}

console.log(f("Kyle")); // Bye Kyle

 

728x90

'JavaScript' 카테고리의 다른 글

JS) Function scope / Block scope  (0) 2025.03.30
[JavaScript 공부용] Webworker 다뤄보기  (1) 2024.11.20
Hugo 로 Github 페이지 블로그 만들기  (0) 2023.08.16
ES6 이후 함수들  (0) 2021.09.25