JavaScript의 콜백 및 고차 함수 가이드.
계속하기 전에 스스로에게 질문해 봅시다.
기능이 있는 이유
이유를 보자…
10제곱 함수 만들기
십제곱
function tenSquared() {
return 10*10;
}
tenSquared() // 100
9제곱 함수는 어떻습니까?
나인제곱
function nineSquared() {
return 9*9;
}
nineSquared() // 81
그리고 8제곱 함수? 125제곱?
우리는 어떤 원칙을 어기고 있습니까? DRY(반복하지마세요)
👉 함수를 일반화하여 재사용이 가능하도록 할 수 있습니다.
function squareNum(num){
return num*num;
}
squareNum(10); // 100
squareNum(9); // 81
squareNum(8); // 64
함수 일반화
Parameters (placeholders)
는 기능을 실행할 때까지 기능을 실행할 데이터를 결정할 필요가 없음을 의미합니다. 그런 다음 함수를 실행할 때 실제 값(argument)
을 제공합니다. Higher-order functions
이 동일한 원칙을 따르기 때문에 기능을 실행할 때까지 일부 기능이 무엇인지 정확히 결정하고 싶지 않을 수 있습니다.이제 함수
copyArrayAndMultiplyBy2
가 있다고 가정합니다.function copyArrayAndMultiplyBy2(array) {
const output = [];
for (let i = 0; i < array.length; i++) {
output.push(array[i] * 2);
}
return output;
}
const myArray = [1,2,3];
const result = copyArrayAndMultiplyBy2(myArray)
배열을 복사하여 2로 나누고 싶다면?
function copyArrayAndDivideBy2(array) {
const output = [];
for (let i = 0; i < array.length; i++) {
output.push(array[i] / 2);
}
return output;
}
const myArray = [1,2,3];
const result = copyArrayAndDivideBy2(myArray)
아니면 3을 추가?
function copyArrayAndAdd3(array) {
const output = [];
for (let i = 0; i < array.length; i++) {
output.push(array[i] + 3);
}
return output;
}
const myArray = [1,2,3];
const result = copyArrayAndAdd3(myArray);
우리는 어떤 원칙을 어기고 있습니까? DRY(반복하지마세요)
👉 기능을 일반화할 수 있으므로 실행할 때만 특정 명령을 전달합니다
copyArrayAndManipulate
!function copyArrayAndManipulate(array, instructions) {
const output = [];
for (let i = 0; i < array.length; i++) {
output.push(instructions(array[i]));
}
return output;
}
function multiplyBy2(input) { return input * 2; }
const result = copyArrayAndManipulate([1, 2, 3], multiplyBy2);
어떻게 이것이 가능했을까요?
Functions in javascript = first-class objects
. 이 외에도 함수의 다른 기능 중 일부를 강조해 보겠습니다.이 코드를 고려하십시오
function copyArrayAndManipulate(array, instructions) {
const output = [];
for (let i = 0; i < array.length; i++) {
output.push(instructions(array[i]));
}
return output;
}
function multiplyBy2(input) {return input * 2;}
const result = copyArrayAndManipulate([1, 2, 3], multiplyBy2);
우리의 고차 함수 ☝는 무엇입니까?
함수를 받는 외부 함수는 고차 함수입니다.
콜백 함수는 무엇입니까?
우리가 삽입하는 함수는 콜백 함수입니다.
고차 함수
함수를 받거나 전달합니다. 이러한 기능을 설명하는 용어일 뿐입니다
any function that does it we call that -
. 그러나 본질적으로 다른 것은 없습니다.이 두 개념을 마스터해야 하는 이유
그리고 그것을 유지하십시오
DRY
. async JavaScript
의 핵심 측면이며 promises
, async/await
에 있습니다. 결론
더군다나 우리는 그것을 가지고 있습니다. 여기까지 하셨다면 읽어주셔서 감사합니다! 이 게시물이 전문가 수준의 JavaScript 코드 작성을 시작하는 데 도움이 되기를 바랍니다.
👋친구하자! 더 많은 관련 콘텐츠를 보려면 나를 팔로우하세요. 새로운 콘텐츠에 대한 업데이트를 받으려면 여기에서도 저를 팔로우하는 것을 잊지 마십시오.
건배!
Reference
이 문제에 관하여(JavaScript의 콜백 및 고차 함수 가이드.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/blessingartcreator/guide-to-callbacks-higher-order-functions-in-javascript-g98텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)