“function returning function”패턴의 이름이 JavaScript입니까?


14

JavaScript에서이 패턴을 자주 사용합니다. 예를 들면 다음과 같습니다.

const comments = [
  { text: 'Hello', id: 1 },
  { text: 'World', id: 4 },
];

const byId = id => element => element.id === id;

const comment = comments.find(byId(1));

때로는이 패턴으로 인해 코드를 읽고 모듈화 할 수 있습니다. 이 패턴은 무엇입니까?

답변:


20

이를 고차 함수라고합니다.

고차 함수는 다른 함수를 인수로 사용할 수 있거나 함수를 결과로 반환하는 함수입니다. - M. 데이비드 그린로 자바 스크립트에서 고차원 적 기능


그리고 당신은 폐쇄로 끝납니다.
토마스 정크

3
JavaScript는 모든 기능이 일류 인 언어입니다. 다른 값과 마찬가지로 변수로 전달할 수 있음을 의미합니다. 클로저는 정의 된 둘러싸는 "어휘 범위"에 액세스 할 수있는 함수입니다. 객체 메소드가 객체 상태 변수에 액세스하는 방식과 약간 비슷합니다.
candied_orange

3
이 특별한 경우에 그는 2 개의 args를 1로
카레
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.