apply
-
[JavaScript] "Illegal invocation" errors개발/Javascript 2022. 5. 31. 03:14
"Illegal invocation" 오류는 함수 호출과 관련해서 발생합니다. JavaScript에서 this는 상황에 따라 달라지는데, 호출되는 함수가 동작 과정에서 this를 참조하고 있을 때 this가 참조하는 객체가 달라지면 문제가 됩니다. 다음 예제를 살펴봅시다. const $ = document.querySelector; $("#root"); // TypeError 언뜻 보면 문제가 없을 것 같지만, 살펴봅시다. document 객체의 메소드의 this는 document 객체를 가리킵니다. document 객체의 메소드에서 다른 메소드나 객체에 접근할 때 this가 필요합니다. 만약 this가 가리키는 객체가 document가 아니게 된다면 동작을 제대로 수행할 수 없기 때문에 오류를 발생시키..