javascript エラー「TypeError: Can only call Document.write on instances of Document」の解決方法

javascript エラー「TypeError: Can only call Document.write on instances of Document」の解決方法

javascriptで、エラー「TypeError: Can only call Document.write on instances of Document」が発生した場合の原因と解決方法を記述してます。

環境

  • OS macOS Big Sur
  • ブラウザ safari 15.5

エラー内容

以下のコードを実行した際に発生。

let d = document.write;

d("hello");

エラーメッセージ

TypeError: Can only call Document.write on instances of Document

画像

原因

ネイティブ関数の場合は、直接変数に代入しようとするとエラーとなります。

解決方法

一度、ラップしてから使用します。

let d = function(str) { document.write(str) };

d("hello");

実行結果