JavaScript

[JavaScript][IE] script65535: 호출 개체가 잘못되었습니다.

JayLee 2019. 7. 8. 15:46
반응형

 Internet Explorer에서만 발생한 오류입니다.

 

var obj = {};

toString.call(obj);

 

 위와 같이 toString을 호출하며 obj를 매개변수로 던졌더니 오류가 발생했습니다. 참고로 Chrome에서는 정상적으로 동작하지만 IE에서만 발생한 문제입니다.

 

 오류가 발생한 이유는 toString.call(obj) 호출하면 Object.prototype.toString 함수가 호출되는 것이 아니라 window.toString 함수가 호출됩니다. window.toString의 경우 스펙이 없기 때문에 window.toString에 대한 구현은 브라우저마다 차이가 날 수 있습니다. Chrome에서는 자연스럽게 Object.prototype.toString 연결시켜줬지만, IE에는 그렇게 구현되지 않았기 때문에 오류가 발생된 것으로 보입니다.

 

 이를 해결하기 위해서는 아래와 같은 방법을 사용할 수 있습니다.

 1)

var obj = {};

({}).toString.call(obj);

 

2)

var obj = {};
var toString = ({}).toString;

toString.call(obj);
반응형

'JavaScript' 카테고리의 다른 글

[JavaScript] Math 정리  (0) 2019.12.10
IE9 requestAnimationFrame Polyfill  (0) 2019.09.17
[JavaScript][IE] script65535: 호출 개체가 잘못되었습니다.  (0) 2019.07.08
[JavaScript] localeCompare  (0) 2018.08.22
REPL(레플?)  (2) 2018.08.09
[JavaScript] 배열 분리 Array.slice()  (0) 2018.07.12