this, binding 개념 이해하

HcKim·2024년 3월 26일

this는 함수를 호출한 객체입니다.

전역문맥

this -> {?}

  • 전역적인 문맥에서 this에서 접근하기 때문에 window가 나옵니다.
console.log(this)
  • 엄격모드에서 this를 접근하면 window가 나옵니다.

'use strict' // 문법을 더 엄격하게 검사하는 역할입니다.
console.log(this)

함수문맥

  • window를 찍어보면 window 객체 안에 main() 함수를 볼 수 있습니다.

예제1)


function main(){
  console.log(this)
}

main()

예제2)

'use strict'
function main(){
  console.log(this)
}

main() // undefined가 나온다. 그래서 window.main()을 해야 나옵니다.

객체의 메서드


const object = {
	name:"별코딩",
    main: function () {
    	console.log(this)
    }
}
object.main()

function main(){
console.log(this
}

const object = {
	name:"별코딩",
    smallObject:{
            name:"작은 별코딩",
            main,
            
 }

}
object.smallObject.main()

binding


function main(){
console.log(this)
}

const mainBind = main.bind({name: 'hi'})
mainBind()
  

const object = {
}
profile
Javascript를깨부시자

0개의 댓글