1) 일반적인 함수 표현식으로는 생성 가능!
2) 화살표 함수 표현식으로는 생성 불가능! -> 화살표 함수는 this 의미가 다르기 때문
2-1) 화살표 함수 내부에서 this : 객체 자기 자신 X, 자신 외부의 값
var price = 120;
let laptop = {
price: 250,
printInfo: () => {
console.log(this.price);
}
}
laptop.printInfo();
2-2) 함수 내부에서 파라미터로 또 다른 함수 : 콜백 함수의 this
1. 익명함수 표현 -> this : window(가장 바깥쪽)
2. 화살표 함수 표현 -> this : 자기 자신의 바로 위쪽 외부
let classList;
classList = {
name: "dev-1",
students: ['창민', '지혜', '혜진', '승우', '형종', '희권'],
// dev-1 : 창민, dev-1 : 지혜, ....
printInfo() {
classList.students.forEach(
(student) => {
console.log(`${this.name} : ${student}`);
}
);
}
}
classList.printInfo();