We're looking for a user researcher to understand the needs of developers and designers. Is this you or someone you know? Check out the post: https://mzl.la/2IGzdXS

handler.apply() 메소드는 함수호출 시를 위한 트랩(trap)이다.


var p = new Proxy(target, {
  apply: function(target, thisArg, argumentsList) {


apply 메소드에는 다음과 같은 인자가 들어온다.. this는 handler를 가리킨다.

대상이 되는 객체(함수)
호출 시 바인딩 된 this
호출 시 전달된 인자목록.

반환 값

apply 메소드는 어떤 값이든 반환할 수 있다.


handler.apply 메소드는 함수호출 시를 위한 트랩이다.


이 트랩은 다음과 같은 것들을 가로챌 수 있다:


handler.apply 메소드에 대한 특별히 지켜야 할 기본조건은 없다.


다음의 코드는 함수 호출 시에 트랩을 건다.

var p = new Proxy(function() {}, {
  apply: function(target, thisArg, argumentsList) {
    console.log('호출됨: ' + argumentsList.join(', '));
    return argumentsList[0] + argumentsList[1] + argumentsList[2];

console.log(p(1, 2, 3)); // "호출됨: 1, 2, 3"
                         // 6

관련 명세

Specification Status Comment
ECMAScript 2015 (6th Edition, ECMA-262)
The definition of '[[Call]]' in that specification.
Standard Initial definition.
ECMAScript Latest Draft (ECMA-262)
The definition of '[[Call]]' in that specification.

브라우저별 호환성

We're converting our compatibility data into a machine-readable JSON format. This compatibility table still uses the old format, because we haven't yet converted the data it contains. Find out how you can help!

Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari
Basic support ? 18 (18) ? ? ?
Feature Android Chrome for Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Basic support ? ? 18.0 (18) ? ? ?

관련 내용

문서 태그 및 공헌자

이 페이지의 공헌자: bsidesoft
최종 변경: bsidesoft,