자바스크립트 내에서의 세미콜론(;) 사용

@JasonLee · May 20, 2023 · 4 min read

서론

자바스크립트는 함수형 프로그래밍 패러다임 을 지원하는 언어 중 하나이다. 함수형 프로그래밍이란 프로그램의 각 부분을 작은 함수들로 나누고, 이러한 함수들이 서로 상태를 공유하지 않고 데이터를 변경하지 않도록 설계하는 것에 중점을 둔다. 이렇게 되면, 각 함수는 순수 함수(pure function) 가 되어 동일한 입력에 대해서 항상 동일한 출력을 생성한다. 즉, 멱등성을 보장할 수 있다는 뜻이다.

이런 접근 방식은 프로그램의 예측 가능성과 디버깅을 쉽게 만들어 준다. .본고에서는 자바스크립트에서 자주 언급되는 함수형 프로그래밍 패러다임의 핵심 키워드라 생각되는 일급함수고차함수 가 무엇인지, 이들이 어떻게 사용되는지 살펴볼 것이다.


본론

일급함수 (First-Class-Citizen) 란?

일급함수란, 함수를 값으로 다룰 수 있다 는 뜻이다. 이는 함수를 변수에 할당할 수 있고, 함수를 인자로 전달할 수 있으며, 함수를 반환할 수 있다는 뜻이다. 이러한 특징을 가진 함수를 일급함수 라고 한다.

// 함수를 변수에 할당
const add = (a, b) => a + b;

// 함수를 인자로 전달
const apply = (func, a, b) => func(a, b);

// 함수를 반환
const adder = () => {
  return (a, b) => a + b;
};

고차함수 (Higher-Order-Function) 란?

고차함수란, 함수를 인자로 받거나, 함수를 반환하는 함수 를 말한다. 즉, 고차함수는 함수를 인자로 받아서 실행하거나, 함수를 반환하는 함수를 말한다.

// 함수를 인자로 받아서 실행하는 고차함수
const apply = (func, a, b) => func(a, b);

// 함수를 반환하는 고차함수
const adder = () => {
  return (a, b) => a + b;
};

일급함수와 고차함수의 활용

일급함수와 고차함수는 함수형 프로그래밍 패러다임의 핵심이다. 이들을 활용하면, 코드의 재사용성을 높일 수 있고, 코드의 가독성을 높일 수 있다. 또한 추상화에도 큰 이점을 보인다. 또한, 함수를 인자로 받아서 실행하는 고차함수를 통해, 함수의 실행 시점을 조절할 수 있다.

// 함수를 인자로 받아서 실행하는 고차함수를 통해, 함수의 실행 시점을 조절할 수 있다.
const add = (a, b) => a + b;

const adder = () => {
  return (a, b) => a + b;
};

const adderFunc = adder();

const result = apply(adderFunc, 1, 2);

결론

본고에서는 자바스크립트에서 자주 언급되는 함수형 프로그래밍 패러다임의 핵심 키워드라 생각되는 일급함수고차함수 가 무엇인지, 이들이 어떻게 사용되는지 살펴보았다.

@JasonLee
Hello :) I'm Jason Lee and currently focusing on React.js.