Declan Andrew
Kaminion
Declan Andrew
전체 방문자
오늘
어제
  • 분류 전체보기 (83)
    • 잡담 (1)
    • AI (0)
      • 논문 리뷰 (0)
    • 유니티 (1)
    • C (2)
    • Java (11)
    • 서버(Server) (10)
      • PHP (1)
      • DevOps (4)
    • JavaScript (12)
      • Node.js (1)
      • React.js (6)
    • 프론트엔드 (1)
    • 안드로이드 (2)
    • 알고리즘과 자료구조 (2)
    • 통계 (0)
      • 중학 통계 (0)
      • 고등 통계 (0)
      • 대학 통계 (0)
    • 컴퓨터과학 (19)
      • 디지털 논리회로 (6)
      • 인공지능 (3)
      • 데이터베이스 (3)
      • 정보통신망(네트워크) (4)
      • 프로그래밍 언어론 (0)
      • 운영체제 (3)
    • 수학 (8)
      • 기초 수학 (5)
      • 공학 수학 (3)
      • 게임 수학 (0)
    • 자격증 (12)
      • AWS (3)
      • 정보처리기사 (9)
    • 빅데이터 (1)
      • 이론 (0)
      • 실습 (0)

블로그 메뉴

  • 홈
  • 태그
  • 방명록
  • 글쓰기
  • 티스토리로이동

공지사항

인기 글

태그

  • 개발
  • react-native
  • 자바
  • 프로그래밍
  • 프로그래머
  • Programming
  • Q-net
  • 정보처리기사
  • 리눅스
  • 파이썬
  • 데이터베이스
  • 논리회로
  • Ai
  • 인공지능
  • 자격증
  • qnet
  • js
  • JavaScript
  • 큐넷
  • java
  • 자바스크립트
  • React
  • 수학
  • DB
  • OS
  • 정처기
  • 기사
  • Database
  • 리액트
  • array

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
Declan Andrew

Kaminion

JavaScript

함수에 적용할 수 있는 call, apply, bind

2020. 5. 12. 12:09
반응형

함수 객체에 적용할 수 있는 메서드 3가지가 있다.

그것은 바로 call, apply, bind인데,

 

call과 apply, bind의 공통점은

현재 실행되는 컨텍스트(this)가 무엇인지 바꿀 수 있다는 것이다.

기본적으로 객체가 아닌 이상 기본적으로 실행되는 컨텍스트는 window이다.(브라우저 기준)

 

bind

bind는 비교적 쉽다.

 

함수객체가 가리키고 있는 현재 컨텍스트(this)만 바꿔주는 역할을 한다.

 

this만 바꿔주고 호출은 하지않는 역할을 한다.

 

함수 내부에서 this를 쓰면 bind에서 넘겨준 this를 사용하게 된다.

 

 

call

 

call은 함수객체의 현재 컨텍스트(this)도 바꾸지만, 함수를 호출해준다.

 

Array.prototype.forEach.call(this, 인자)

여기선 인자가 콜백함수이므로 콜백함수 넣어서 처리하면된다.

특히 this를 바꿔줌으로써 유사배열 객체도 배열처럼 처리할 수 있다

유사배열의 예를 들면 NodeList

 

 

apply

 

call에서 함수를 호출 할 때 배열로 넘겨준다는 것 밖에 차이점이 없다고 봐도 무방하다.

반응형

'JavaScript' 카테고리의 다른 글

자바스크립트 =_=> 의 의미  (0) 2020.10.22
node의 패키지로 보는 Python의 패키지  (0) 2020.06.19
직접 만든 시프트 암호(시저 암호)  (0) 2020.05.14
간단하게 알아보는 콜백(callback), 프로미스(promise), async, await  (0) 2020.01.06
    'JavaScript' 카테고리의 다른 글
    • 자바스크립트 =_=> 의 의미
    • node의 패키지로 보는 Python의 패키지
    • 직접 만든 시프트 암호(시저 암호)
    • 간단하게 알아보는 콜백(callback), 프로미스(promise), async, await
    Declan Andrew
    Declan Andrew
    궁금한 점은 메일 주세요. jwsoft0529@gmail.com 블로그 확인 잘 안합니다.

    티스토리툴바