プログラミングでjavascriptを勉強していて理解できているようなできていないような感じで困っています。
例えば以下の様なコードがあったとします
HTML
(略) <body id ="test"> (略)
JavaScript
const _d = document; const Hoge = function(){ (略) alert(_d.~); //アクセスできてdocumentオブジェクトのメソッドが使える (略) } Hoge.prototype = { testdesuyo : function(){ alert(_d.URL); //ここもdocumentオブジェクトのメソッドが使える _d.getElementById("test").insertAdjacentHTML('afterbegin', '<p>testes</p>'); //何故かinsertAdjacentHTMLが使えない //insertAdjacentHTMLなんてないよとGoogleChromeのコンソールが言ってくる // ↑これが何故か分からない } }; 以下略
スコープの問題かな(?)と思いましたが、ドキュメントにも普通にアクセスできているようですし、
insertAdjacentHTMLの仕様かな(?)とも思い、MDNの仕様ページを見ましたが全てのエレメントで使えるようなのでそれもない
となると何がなんだか訳が分かりません
上級者の方教えて下さい
=========================================================================
追記
実行してみたソースとその時に出てきたコンソールのログです
<!DOCTYPE html> <html lang="ja"> <head> <meta charset="utf-8" /> <script> const _d = document; const Hoge = function () { alert("実験成功 : 最終更新日時は" + _d.lastModified); } Hoge.prototype = { testdesuyo: function () { alert("実験成功 : 最終更新日時は" + _d.lastModified); _d.getElementById("test").insertAdjacentHTML('afterbegin', '<p>testes</p>'); } }; let hoge = new Hoge(); hoge.testdesuyo(); </script> </head> <body id="test"> </body> </html>