컴퓨터를 공부하고자 마음먹은지 N일차

[88일차]javascript this 5분만에 소속밝혀내기 본문

📒Javascript

[88일차]javascript this 5분만에 소속밝혀내기

졸린새 2020. 12. 6. 16:52
728x90

this 소속 5분만에 알아보기

this에 대해 공부를 하던 중,
잘 이해가 가지않아 콘솔창에 여러번 찍어보며 노력해봣는데,
그 결과 this는 아주 미꾸라지같은 녀석이라고 생각했다.
그래서 이 글은 this미꾸라지설(필자가 만듦)에 입각한 글이니,
비유의 함정 에 빠지기 싫은 사람들은 뒤로가기를 누르면 된다..!
비유를 통해 정확한 개념은 못집겠지만, 이 글을 보게된다면
확실하게 써먹을 수 있을것이다.


this의 소속을 알아보자

this의 소속은 자기가 속해있는 객체(배열도 됨)이다.
this는 잡히면 자신의 현재 소속을 밝힌다.
하지만 쉽게 잡히지않는다.

몇겹을 겹치더라도 똑같다.

ㄹㅇ 내가그렸지만 열받는다.

this를 잡을 유일한 수단 function

배열에 this를 넣어도 마찬가지고
객체에 this를 넣어도 마찬가지로, 도망가버린다.

하지만 function 이라는 그물로 잡아보자
함수는 this를 잡을 유일한 그물망이라 생각하자

this는 그물망이 속해있는 객체를 자신의 소속이라 생각한다.

Arrow function는 this를 못잡는다.

예시를 들것도 없다. 못잡는다.
하지만 화살표 함수를 사용하면서, this값을 받아오고 싶을 수 있다.
this가 들어있는 화살표 함수를 그물망으로 감싸주자

1
2
3
4
5
6
7
const obj = {keyinObj: {keyinKeyinObj: function arrowCollecter(){
  const arrow1 = ()=>console.log(`Good Afternoon from`)
  const arrow2 = ()=>console.log(this)
  arrow1();
  arrow2();
}}}
obj.keyinObj.keyinKeyinObj();
cs

Comments