본문 바로가기

카테고리 없음

FP(Functional Programming) 이해하기

Functional Programming (FP)는 함수를 기반으로 프로그래밍을 작성하는 프로그래밍 방법론입니다. FP를 사용하면 개발자는 코드를 작성할 때, 다음과 같은 특징을 가집니다.

  1. 순수 함수: FP에서는 순수 함수를 사용하며, 이는 외부 상태에 의존하지 않고, 인자로 받은 값만으로 계산하여 결과를 리턴하는 함수를 말합니다.
  2. 불변성: FP에서는 변수나 데이터를 수정하지 않고, 새로운 값을 생성하여 사용합니다.
  3. 일급 객체: FP에서는 함수를 일급 객체로 간주하여, 변수나 데이터처럼 사용할 수 있습니다.
  4. 커링: FP에서는 커링을 사용하여, 일부 인자만 받은 함수를 생성하여 사용합니다.
  5. 컬렉션 조작: FP에서는 컬렉션 조작을 순수 함수로 작성하며, 이를 이용해 데이터를 처리합니다.

FP는 이러한 특징들로 인해 코드를 작성할 때, 더욱 간결하고 안정적인 프로그래밍이 가능합니다. 하지만 FP는 새로운 개념과 패러다임으로 인해 공부하기 어렵고, 익숙하지 않은 개발자들에게는 어렵게 느껴질 수 있습니다.

 

 

잘못된 코드 예시

let numbers = [1, 2, 3, 4, 5];
for (let i = 0; i < numbers.length; i++) {
  numbers[i] = numbers[i] * 2;
}
console.log(numbers); // [2, 4, 6, 8, 10]

이 코드는 for 루프를 사용해서 numbers라는 배열의 각 요소를 2배로 만듭니다. 이 코드는 불변성을 지켜주지 않습니다.

 

올바른 코드 예시

const numbers = [1, 2, 3, 4, 5];
const doubledNumbers = numbers.map(number => number * 2);
console.log(doubledNumbers); // [2, 4, 6, 8, 10]

 

이 코드는 map 함수를 사용하여 numbers라는 배열을 복사하고 그 복사본에서 각 요소를 2배로 만듭니다. 이렇게 하면 numbers 배열은 변하지 않고, doubledNumbers라는 새로운 배열이 생성됩니다. 이 코드는 불변성을 지키면서 각 요소를 2배로 만듭니다.