📂
JavaScriptで現在表示しているファイル名を取得する
結論
window.location.pathname.split("/").pop();
仕組み
-
pathnameプロパティを使ってパス名を取り出す
pathnameの対象範囲(出典:MDN Web Docs) - パス名を”/”区切りにして、一番最後の要素を取り出す
他の方法
windowを省略する
location.pathname.split("/").pop();
問題ないことが多いかと思いますが、関数の中で新しくlocationという変数を宣言した場合などに意図しない出力となる可能性もあります。明示的にwindow.locationと記述したほうがベターとのこと。
pathnameプロパティの代わりにhrefプロパティを使う
window.location.href.split('/').pop();
pathnameと違ってURL全体の文字列が得られるので、クエリ(?以降の文字列)やフラグメント(#以降の文字列)が入る可能性がある場合は使えません。
windowオブジェクトの代わりにdocumentオブジェクトを使う
document.location.pathname.split('/').pop();
windowオブジェクトを使用した場合と同じ結果が得られます。
new URL(document.URL).pathname.split("/").pop();
冗長ですが、URL()コンストラクタにdocument.URLの値を渡しても同じ結果になります。
Discussion