TIL. this

jungzkxm·2021년 10월 4일
0

Today I learned

목록 보기
27/30

This 란?

함수를 호출할 때 생기는 바라보고 있는 객체를 말한다.
(가장이해하기 쉬운방법이 이게 아닌가...)

this 는 총 4가지의 각각 다른 뜻? 바라보고있는 곳이 있다.

  1. window
    그냥 this 를 사용하거나 함수 안에서 this를 사용하면 window 를 가르킨다. window 는 모든 전역변수, 함수, DOM을 보관, 관리하는 전역객체이다.

  2. Object 내에 함수 안에서 this는 자신의 주인을 뜻한다.
    Object 자료형 안에 함수를 만들어서 그 안에서 this 를 출력하면 그 함수의 주인인 Object 가 출력이 된다.
    Object 안에 함수는 메소드라고 한다.
    키 값이 주인님이 되지 않는다.

  3. Constructor 안에서 사용하게 되면 새로 생성될 Object 를 말한다.

function func1() {
	this.name = 'kim'
}

let obj = new func1();
console.log(obj) // {name: 'kim'} 출력
  1. eventlistener 내에 this 는 e.currentTarget 이다.
document.getElementById('button').addEventListener('click', (e) => {
	console.log(this) // button 출력
  	console.log(e.currentTarget) //button 출력
})

apply()
apply 함수는 이 함수를 어떠한 오브젝트에 적용해서 실행해달라는 뜻이다.

사용방법은 : 실행함수.apply(적용할곳)

call()
apply 함수랑 똑같다. 하지만 apply 함수는 array 를 한꺼번에 집어넣을 수 있고
call 함수는 일반함수처럼 파라미터를 집어넣을 수 있다.

이 방법에만 차이가 있다. 실행내용은 똑같다.

profile
단순히 개발자로서 제게 있었던 일을 적는 공간입니다 ✍🏻

0개의 댓글