화살표함수 -> 자신의 THIS X / 상위 스코프 THIS O
✔ 예제1
function sayName() { console.log(this.name); } var name = "Alice"; sayName(); // 출력: Alice (브라우저 환경에서는 window.name)
✔ 예제1
var person = { name: "Bob", sayName: function() { console.log(this.name); } }; person.sayName(); // 출력: Bob
✔ 예제1 call()
function sayName() { console.log(this.name); } var person = { name: "Charlie" }; sayName.call(person); // 출력: Charlie
✔ 예제1 apply()
function sayName() { console.log(this.name); } var person = { name: "David" }; sayName.apply(person); // 출력: David
첫번째 인자값으로 전달된 객체에 this를 고정한 새로운 함수를 반환
✔ 예제1
function sayName() { console.log(this.name); } var person = { name: "Eve" }; var boundFunc = sayName.bind(person); boundFunc(); // 출력: Eve
✔ 예제1
function Person(name) { this.name = name; } var alice = new Person("Alice"); console.log(alice.name); // 출력: Alice
✔ 예제1
const obj = { name: 'Alice', sayName: function() { console.log(this.name); }, sayNameArrow: () => { console.log(this.name); } }; obj.sayName(); // 출력: Alice obj.sayNameArrow(); // 출력: undefined