익명 함수란 무엇입니까?
6041 단어 javascriptcodequalityprogramming
JavaScript의 익명 함수 예
function () { ... }
// can also be achieved using ES6 syntax (arrow functions)
() => { ... }
파이썬에서 익명 함수의 예
lambda num: num + num
이러한 함수는 이름이 없기 때문에 코드에서 참조할 수 없습니다. 즉, 정의된 곳에서만 사용할 수 있습니다. 종종 일회성 작업 또는 런타임 시 단기 사용에 사용됩니다.
익명 함수는 함수 이름이 관련이 없는 경우(예: 함수가 한 번만 사용되거나 제한된 횟수로 사용되는 경우) 더 깨끗한 코드를 지원할 수도 있습니다.
익명 함수로 작성할 수 있는 모든 코드는 이름이 지정된 일반 함수로도 작성할 수 있습니다. 그것은 대부분 스타일의 문제입니다.
function toStatus(item) {
return item.status;
}
const statuses = items.map(toStatus);
익명 함수를 사용하는 이유는 무엇입니까?
익명 함수는 특히 함수를 한 번만 사용하는 경우 코드를 구문적으로 더 가볍고 단순하며 잠재적으로 더 깔끔하게 만드는 데 도움이 될 수 있습니다.
이에 대한 예는 콜백(함수가 인수로 전달된 함수를 호출하는 경우)을 사용할 때일 수 있으며 콜백에 대해 전체 함수를 정의하지 않을 수 있습니다.
>>> numbers = [1, 2, 3, 4, 5, 6]
>>> list(map(lambda num: num*num, numbers))
[1, 4, 9, 16, 25, 36]
위의 함수는 배열의 각 요소를 매핑하고 자체적으로 곱합니다.
숫자 자체를 곱하기 위해 전체 함수 정의를 만들 필요는 없습니다. 매우 간단한 작업입니다.
대신
map
라는 하나의 인수가 있는 num
함수에 익명 함수를 전달합니다(이것은 무엇이든 호출할 수 있음).lambda num: num*num
그런 다음
num
자체를 곱합니다. 이 함수는 목록의 각 항목에 대해 실행됩니다.고차 함수
익명 함수는 "고차 함수"에서 사용할 수 있습니다.
고차 함수(HOF)는 함수를 하나 이상의 인수로 받거나 다른 함수를 인수로 받거나 다른 함수를 반환하는 함수입니다.
복잡하게 들리겠지만 배열에 대해
map
함수를 사용했을 가능성이 높으며, 이 함수에는 배열의 항목을 매핑하는 방법을 알기 위한 입력으로 다른 함수가 필요합니다.// The anonymous function is around the brackets after "map"
// For each item in the "items" array, it will take in the item as an input and return "item.status"
const statuses = items.map((item) => item.status);
즉시 호출 함수 표현식(IIFE)
JavaScript에서는 즉시 호출 함수 표현식(IIFE) 생성을 사용하여 함수 정의를 생성하고 동시에 호출할 수 있습니다.
빨간색: 함수 정의(실행
console.log
)파란색: 호출 연산자에서 함수를 분리하는 대괄호 세트(따라서 구문상 유효합니다. 오른쪽 중괄호는 왼쪽 대괄호 옆에 나타날 수 없습니다.)
녹색: 호출 교환원.
런타임에 보이는 것은 바로 옆에 호출 연산자가 있는 녹색 괄호 안에 있는 함수입니다. 녹색 괄호 안에 있는 것은 무엇이든 "호출"됩니다. 이 경우 빨간색으로 표시된 함수 정의가 실행됩니다.
IIFE는 일반적으로 범위를 만들거나 함수를 빠르게 만들고 실행하는 데 사용됩니다. 사용할 비동기 환경을 빠르게 만드는 데 자주 사용됩니다
async/await
.(async () => {
// we have access to `await` here, meaning we can do
// asynchronous operations
await fetch(/* ... */);
})();
💥 이 게시물은 Nevuletter . 확인해보세요 here !
새 게시물을 놓치지 않도록 구독하고 이해하기 쉽고 접근 가능한 방식으로 프로그래밍에 관한 모든 최신 정보를 받아보세요.
Reference
이 문제에 관하여(익명 함수란 무엇입니까?), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/nevulo/what-are-anonymous-functions-457d텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)