[javascript] TypeError : console.log.apply에서 잘못된 호출

크롬 콘솔에서이를 실행하는 경우 :

console.log.apply(null, [array])

Chrome에서 오류가 발생했습니다.

// TypeError: Illegal Invocation

왜? (OSX를 통해 Chrome 15에서 테스트)



답변

실행 컨텍스트가 콘솔에서 다른 오브젝트로 변경된 경우에는 작동하지 않을 수 있습니다.

console.info는 “this”참조가 window가 아닌 ​​console 일 것으로 예상하기 때문입니다.

console.info("stuff")
stuff
undefined
console.info.call(this, "stuff")
TypeError: Illegal invocation
console.info.call(console, "stuff")
stuff
undefined

이 동작이 예상됩니다.

https://bugs.chromium.org/p/chromium/issues/detail?id=48662


답변