선결론!!!
📌 핵심 요약
함수 타입this가 가리키는 대상
function () {} | 호출한 주체 (ex. 이벤트 발생한 tr 요소) |
() => {} | 선언된 위치의 this (렉시컬 스코프) |
1. function () {} (전통적인 함수)
$("tr").hover(function () {
console.log(this); // 👉 현재 이벤트가 발생한 tr
});
이 경우 this는 이벤트가 붙은 DOM 요소를 자동으로 가리켜요.
즉, 마우스를 올린 그 tr 태그 하나.
jQuery는 이 전통적인 방식에 최적화되어 있어서 이렇게 쓰는 게 일반적이에요.
2. () => {} (화살표 함수)
$("tr").hover(() => {
console.log(this); // 👉 이건 tr이 아니라 바깥의 this
});
🧠 외부 스코프란?
간단히 말해 **화살표 함수가 만들어진 코드 바깥에 있는 this**를 말해요.
const that = this; // 외부 스코프
const func = () => {
console.log(this); // 여기서 this는 위에 있던 that과 같음
};
후후 그래도 모르겠군요..!
728x90
반응형
'JS' 카테고리의 다른 글
[JS] 마우스 올리기 내리기 / hover() vs mouseEnter (0) | 2025.04.09 |
---|---|
Overflow : scroll; 적용 시 폰트 및 이미지 흐릿해지는 현상 (0) | 2025.03.10 |
[JS] DOCUMENT 객체와 관련된 다양한 기능과 이벤트 (1) | 2024.11.18 |
[JS] 웹의 모든 이미지 한번에 없애 버리기 (3) | 2024.11.15 |
[JS] 부드러운 애니메이션을 위한 requestAnimationFrame (1) | 2024.11.09 |