본문 바로가기
프로그래밍 언어/JavaScript

[함수형 코딩] 액션과 계산 데이터

by zieunee 2023. 1. 24.
반응형

액션과 계산 데이터

단순해보이는 액션도 또다른 액션이나 계산 , 데이터로 나눌 수 있다. 함수형 프로그래밍에서는 액션을 더 작은 액션과 계산, 데이터로 나누고 나누는 것을 언제 멈춰야 할지 아는 것이 중요하다.

액션을 쓰는 순간 전체로 퍼지게 된다. 액션은 호출 시점이 중요하기 때문에 액션을 특정 시점에 실행시키기 위해 만들어진 함수도 액션이다. 모든 함수가 액션화 되는것! > 액션을 가능한 한 사용하지 말아야 한다.

재사용하기 쉽게 만들기

  1. 전역변수에 의존하지 말아야한다.
  2. DOM을 사용할 수 있는 곳에서 실행된다고 가정하면 안된다.
  3. 함수가 결과값을 리턴해야한다.

입력과 출력

모든 함수에는 입력과 출력이 있음 “입력”은 함수가 계산을 하기 위한 외부 정보이다. “출력”은 함수 밖으로 나오는 정보나 어떤 동작의 시작이다. 함수를 부르는 이유는 결과가 필요하기 때문.

명시적 입력, 명시적 출력 만 이루어져있으면 계산이 된다. 그런데 암묵적인 입력 출력이 있음 액션이 된다.

  • 암묵적 입력 : 함수를 부르는 동안 결과에 영향을 줄 수 있는 것
  • 암묵적 출력: 함수 호출의 결과로 영향을 받는 것

액션에서 계산을 빼내기

입력값은 인자로, 출력값은 리턴값으로 바꾸기!

  • 암묵적 출력 없애기 : 전역변수는 지역변수로 바꾸고 결과값을 리턴해주기!
  • 암묵적 입력 없애기 : 전역변수 대신 인자를 만들어 전달받아 사용하기!

 

더 좋은 액션 만들기

암묵적 입력과 출력을 줄여야한다. 인자와 리턴으로 바꿔 없애야 한다.

계산 분류하기

함수에 cart에 대한 동작 , item에 대한 동작, business에 대한 규칙으로 나뉜다 하면 한개의 함수에 각각의 기능을 하게끔 독립적으로 분리할 수 있음

함수를 재사용 할 수 있는 유틸리티 함수를 만들어서 분리 시킬 수 있음

반응형

'프로그래밍 언어 > JavaScript' 카테고리의 다른 글

[함수형 코딩] Intro  (0) 2023.01.23
얕은 복사 vs 깊은 복사 (vue, react)  (0) 2022.09.25
오류 기록 (외부API연동시 options Method 허용 체크)  (0) 2022.07.23
promise  (0) 2022.03.06
this  (0) 2021.08.02