⊗jsPmCxCM 440 of 505 menu

JavaScript에서 call 메서드를 사용한 컨텍스트 바인딩

자, 이제 우리는 this가 실제로 어떻게 동작하는지 살펴보았습니다. 이제 함수가 호출되는 컨텍스트(즉, this가 무엇과 동일한지)를 강제로 지정할 수 있는 메서드를 살펴보겠습니다.

우리가 살펴볼 첫 번째 메서드는 call이라고 합니다. 예제를 통해 그 작동을 살펴보겠습니다. 다음과 같은 입력 필드가 있다고 가정해 봅시다:

<input id="elem" value="text">

이 입력 필드에 대한 참조를 가져와 변수 elem에 저장해 보겠습니다:

let elem = document.querySelector('#elem');

이제 this.value를 출력하는 함수 func를 만들어 보겠습니다:

function func() { console.log(this.value); }

지금은 우리 함수가 this가 무엇을 참조하는지 모릅니다. 만약 addEventListener를 통해 바인딩했다면 그렇겠지만, 우리는 그렇게 하지 않을 것입니다. 대신, 우리는 단순히 함수를 호출하면서 this가 elem과 같아야 한다고 지정할 것입니다.

이는 다음과 같이 수행됩니다: func.call(elem). 이 코드는 func()와 같이 함수를 간단히 호출하는 것과 동일하지만, thiselem와 같다는 조건이 추가됩니다.

따라서 call 메서드의 구문은 다음과 같습니다: function.call(object). 모든 것을 함께 모아보겠습니다:

let elem = document.querySelector('#elem'); function func() { console.log(this.value); // 입력 필드의 value를 출력합니다 } func.call(elem);

다음 함수가 주어졌습니다:

function func() { console.log(this.value); }

세 개의 입력 필드가 주어졌습니다:

<input id="elem1" value="text1"> <input id="elem2" value="text2"> <input id="elem3" value="text3">

call 메서드와 func 함수를 사용하여 각 입력 필드의 value를 화면에 출력하세요.

한국어
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақКыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
우리는 웹사이트 운영, 분석 및 개인화를 위해 쿠키를 사용합니다. 데이터 처리는 개인정보 처리방침에 따라 이루어집니다.
모두 수락 설정 거부