컨텍스트와 함께 함수 호출

Beginner

This tutorial is from open-source community. Access the source code

소개

이 랩에서는 JavaScript 에서 클로저 (closure) 를 사용하여 컨텍스트 (context) 와 함께 함수를 호출하는 방법을 살펴봅니다. 함수에 키 (key) 와 일련의 인수를 전달한 다음, 주어진 컨텍스트로 함수를 호출하는 방법을 배우게 됩니다. 실용적인 예제를 통해 이 기술이 코드를 단순화하고 가독성을 높이는 데 어떻게 사용될 수 있는지 살펴보겠습니다.

JavaScript 에서 컨텍스트와 함께 함수를 호출하는 방법

Node.js 에서 코드를 실행하려면 터미널/SSH 를 열고 node를 입력하십시오. JavaScript 에서 특정 컨텍스트와 일련의 인수를 사용하여 함수를 호출하려면 클로저 (closure) 를 사용할 수 있습니다. 방법은 다음과 같습니다.

  1. key와 일련의 args를 매개변수로 받고 context 매개변수를 받는 새로운 함수를 반환하는 call 함수를 정의합니다.
const call =
  (key, ...args) =>
  (context) =>
    context[key](...args);
  1. call 함수를 사용하여 숫자 배열에 대해 map 함수를 호출합니다. 이 예제에서 map 함수는 배열의 각 숫자를 두 배로 만듭니다.
Promise.resolve([1, 2, 3])
  .then(call("map", (x) => 2 * x))
  .then(console.log); // [ 2, 4, 6 ]
  1. 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 에서 더 많은 랩을 연습하여 실력을 향상시킬 수 있습니다.