4/26 Today I Learn

장민우·2021년 4월 26일
0
post-thumbnail

오늘 학습 내용

  • 타입스크립트 - 리터럴 타입 / 유니언과 교차 타입
  • this
  • React hooks(벨로퍼트 리액트 입문 17장 까지)
  • 독서 - 소프트 스킬(존 손메즈)

This

this에 바인딩될 객체는 자바스크립트 엔진에 의해 함수 호출 패턴에 의해 결정.

메서드 호출

let obj = {
	name : "jang",
	sayName : function(){
		console.log(this.name)
	}
}

console.log(obj.sayName()); //  jang

화살표 함수를 이용한 호출

화살표 함수는 함수를 호출 된 곳이 아니라 함수가 생성된 쪽에서 this가 바인딩

let obj = {
	name : "jang",
	sayName : function(){
		return ()=>{
			console.log(this) // {name : “jang” , sayName : f~}
		}
	}
}

console.log(obj.sayName()()); // {name:"jang", sayName : f}

일반 함수 호출

this는 전역 객체에 바인딩

function Person(name){
  	this.name = name
}
let me = Person("jang");
console.log(me) // undefined

new 연산자를 붙여 호출

this는 해당함수에 바인딩

function Person(name){
  this.name = name
}
let me =new Person("jang");
console.log(me) // Person {name : "jang"}

0개의 댓글