JavaScript의 순수 함수

기능



People think that computer science is the art of geniuses but the actual reality is the opposite, just many people doing things that build on each other, like a wall of mini stones.Donald Knuth



함수는 JavaScript 프로그래밍의 빵과 버터입니다. 블록의 코드 일부를 워핑하는 개념에는 많은 가치가 있습니다. JavaScript에서 함수는 일급 시민입니다. 일급 시민이란 기본적으로 함수가 다른 함수가 할 수 있는 모든 것을 할 수 있음을 의미합니다.
  • 함수를 변수에 할당할 수 있음
  • 함수를 인수로 전달할 수 있음
  • 함수가 함수에서 반환될 수 있음

  • 프로그램은 함수라고 하는 코드 블록의 모음입니다. 프로그래밍의 함수는 수학의 함수와 동일합니다. 예를 들어 보겠습니다.
    수학에서는 다음과 같은 함수를 작성합니다. f(x)=x+2
    이것은 단순히 함수가 x를 입력으로 받고 x+2를 반환한다는 것을 의미합니다. 이제 위의 기능이 있으면 프로그램을 만들 수 있습니다.

    function addTwo(x){
    return x+2
    }
    


    addTwo는 f(x)=x+2 this function 의 프로그래밍 구현입니다. addTwo 함수는 Pure 함수입니다.

    순수 함수



    함수가 순수하려면 다음 두 가지 조건을 충족해야 합니다.
  • *** 동일한 입력이 주어지면 동일한 출력이 반환되어야 합니다. ***
  • 부작용이 없습니다.

  • 이제 addTwo 함수가 순수하다는 진술을 변호해 봅시다. addTwo 함수가 위에서 언급한 조건을 충족하는지 확인해야 합니다. 그렇다면 우리는 진술을 성공적으로 방어할 것입니다.

    *** 동일한 입력이 주어지면 동일한 출력이 반환되어야 합니다 ***
    2를 입력으로 전달합니다.

    console.log(addTwo(2))
     It will return 4
    


    이제 addTwo 함수가 2의 값을 몇 번 전달하든 상관없이 항상 4를 반환합니다. 따라서 addTwo 함수가 Pure 함수의 첫 번째 조건을 충족한다는 것은 분명합니다.

    이제 두 번째 조건을 확인하려고 합니다.

    *** 부작용 없음 **
    부작용이란?
    함수가 외부 또는 매개 변수를 수정하거나 의존하면 함수에 부작용이 있습니다.

    우리의 위의 기능은 매개변수 이외의 어떤 것도 사용하지 않습니다. 즉, 순수 기능의 두 번째 조건을 설정합니다.

    우리의 *** addTwo 기능은 순수 기능***이라는 결론을 내렸습니다.

    순수 함수를 식별하는 원리.

    반환 값을 사용하지 않고 함수를 호출하는 것이 의미가 있다면 그것은 순수 함수가 아닙니다.

    순수 함수를 사용해야 하는 이유는 무엇입니까?


  • 쉽게 리팩토링하고 이동할 수 있습니다.
  • 외부 세계와 독립적입니다.
  • 재사용 가능한 가장 간단한 코드 블록.
  • 범위 밖의 버그에 면역입니다.
  • 프로그램이 향후 변경 사항에 보다 잘 적응하도록 함

  • 결론



    컴퓨터 프로그램은 함수라고 하는 작은 코드 블록의 모음입니다.
    순수 함수는 동일한 입력이 주어지면 동일한 출력을 반환하고 순수 함수에는 부작용이 없는 함수입니다. 순수 함수는 외부와 독립적이며 쉽게 리팩토링할 수 있습니다.

    좋은 웹페이지 즐겨찾기