javascript エラー「Uncaught TypeError: Illegal invocation」がオブジェクトを変数代入時に発生した場合

javascript エラー「Uncaught TypeError: Illegal invocation」がオブジェクトを変数代入時に発生した場合

javascriptでオブジェクトを変数代入時にエラー「Uncaught TypeError: Illegal invocation」の発生原因と対処法を記述してます。

環境

  • OS windows10 pro 64bit
  • Apache 2.4.43
  • ブラウザ chrome 84.0.4147.105

エラー内容

document.getElementByIdを、変数代入時に発生

chrome上で、以下のエラーが発生

firefoxでは、以下のエラーとなります。

IEでは、以下となります。

原因

javascriptでは、ネイティブ関数を変数に代入しようとすると発生してしまいます。

対処法

直接参照しない

ちなみに、アロー関数で書くと以下となります。

document.writeの場合も、同じように記述できます。