.map()과 같은 고차 함수는 JavaScript 내에서 어떻게 작동합니까?
P粉107772015
2023-08-25 17:41:30
<p>요즘에는 모두가 더 적은 코드를 작성하여 유망한 결과를 얻기 위해 이러한 고차 함수를 사용하려고 노력하고 있습니다. 하지만 이러한 기능이 내부적으로 어떻게 작동하는지 알고 싶습니다. </p>
<p>내가 비슷한 글을 썼다고 가정해 보세요</p>
<p>
<pre class="brush:js;toolbar:false;">var 숫자 = [16, 25, 36];
var 결과 = number.map(Math.sqrt);
console.log(결과); // [4, 5, 6]</pre>
</p>
<p>"숫자" 배열의 각 요소가 하나씩 반복된다는 것을 알고 있지만 <어떻게</em>? </p>
<p>찾아보려 했지만 아직 만족스러운 답변을 얻지 못했습니다. </p>
모든 공급업체는 사양을 따라야 한다고 생각합니다.
실제 구현(예: V8)은 다소 복잡할 수 있습니다. 먼저 이 답변을 참조하세요. github에서 v8 소스코드를 참고할 수도 있지만, 그 일부를 분리해서 이해하기는 쉽지 않을 수 있습니다.
위 답변 인용:
ES2015 사양:
"length"
))로 설정합니다..map
콜백을 받아들이고, 배열의 각 항목에 대해 콜백을 호출하고, 새 배열에 값을 할당하는 메서드입니다. 특별한 것은 아닙니다. 스스로도 쉽게 할 수 있습니다: