소개
이 랩에서는 JavaScript 에서 클로저 (closure) 를 사용하여 컨텍스트 (context) 와 함께 함수를 호출하는 방법을 살펴봅니다. 함수에 키 (key) 와 일련의 인수를 전달한 다음, 주어진 컨텍스트로 함수를 호출하는 방법을 배우게 됩니다. 실용적인 예제를 통해 이 기술이 코드를 단순화하고 가독성을 높이는 데 어떻게 사용될 수 있는지 살펴보겠습니다.
JavaScript 에서 컨텍스트와 함께 함수를 호출하는 방법
Node.js 에서 코드를 실행하려면 터미널/SSH 를 열고 node를 입력하십시오. JavaScript 에서 특정 컨텍스트와 일련의 인수를 사용하여 함수를 호출하려면 클로저 (closure) 를 사용할 수 있습니다. 방법은 다음과 같습니다.
key와 일련의args를 매개변수로 받고context매개변수를 받는 새로운 함수를 반환하는call함수를 정의합니다.
const call =
(key, ...args) =>
(context) =>
context[key](...args);
call함수를 사용하여 숫자 배열에 대해map함수를 호출합니다. 이 예제에서map함수는 배열의 각 숫자를 두 배로 만듭니다.
Promise.resolve([1, 2, 3])
.then(call("map", (x) => 2 * x))
.then(console.log); // [ 2, 4, 6 ]
call함수를map과 같은 특정 키에 바인딩 (bind) 하여 숫자 배열에 대해map함수를 호출하는 데 사용할 수도 있습니다.
const map = call.bind(null, "map");
Promise.resolve([1, 2, 3])
.then(map((x) => 2 * x))
.then(console.log); // [ 2, 4, 6 ]
call 함수를 사용하면 특정 컨텍스트와 일련의 인수를 사용하여 모든 함수를 쉽게 호출할 수 있습니다.
요약
축하합니다! 컨텍스트와 함께 함수 호출 (Call Functions With Context) 랩을 완료했습니다. LabEx 에서 더 많은 랩을 연습하여 실력을 향상시킬 수 있습니다.