프론트엔드/기타

JS 람다식 사용 시 주의할 점

강서코 2022. 12. 1. 14:29
반응형

일반적으로 JavaScript( 이하 JS ) 에서 this를 사용할 경우 일반 함수는 자기 자신을 의미하지만

람다식에서는 선언 당시의 this의 값을 고정시켜버린다.

 

아래 예제를 통해 쉽게 이해해 보자.

 

 

param = 'global param';

function printParam(){
	console.log(this.param);
}

let object = {
	param: 'object param',
	func: printParam
}
let object2 = {
	param: 'object2 param',
	func: printParam
}

object.func();
object2.func();


/*
object.func() 실행 결과 : object param
object2.func() 실행 결과 : object2 param
*/

 

 

param = 'global param';

let printParam = () => {
	console.log(this.param);
}

let object = {
	param: 'object param',
	func: printParam
}
let object2 = {
	param: 'object2 param',
	func: printParam
}

object.func();
object2.func();


/*
object.func() 실행 결과 : global param
object2.func() 실행 결과 : global param
*/

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

반응형