함수형 프로그래밍

  1. 불변성
    1. 'immutable'
      데이터가 변할수없다
      불변성 데이터가 작동하는 방식 : 원본을 복사 → 복사한데이터를 부분 수정
      객체 불변성을 지키기 위해 사용하는 메서드 : Object.assign
      배열 불변성을 지키기 위해 사용하는 메서드 : Array.concat , 배열 스프레드 연산자
      const addColor = (title, list) => [...list, {title}];
       
  1. 순수성
    1. 순수함수의 세가지 규칙
    2. 순수 함수는 파라미터를 최소 하나 이상 받아야한다.
    3. 값이나 다른 함수를 반환해야한다.
    4. 인자나 함수 밖에 있는 다른 변수를 변경하거나, 입출력을 수행해서는 안된다.
  1. 데이터변환
    1. 배열의 reduce메서드로 unique한 배열 만들기(중복제거)
      const colors = ["red", "red", "green", "blue", "green"]; const uniqueColors = colors.reduce( (unique,color) => distinct.indexOf(color) !== -1 ? unique : [...unique, color], [] ); console.log(distinctColors); // ["red", "green", "blue"];
  1. 고차함수
    1.  
  1. 재귀