JavaScriptのlocationはlocation.hrefでなくてもエラーにならない

location.hrefとは

現在のWebページのURLを文字列で返す。

この値にURLを代入すると現在のURLから指定したURLに遷移することができるため、JavaScriptでよく使用される。

location.href = 'https://iwb.jp/'

locationへのURL代入も遷移可能

locationを記載しただけではURLだけを文字列で返すことはない。

しかし、locationにURLの文字列を代入するとlocation.hrefを使用したときと同じく指定したURLに遷移できてしまう。

location = 'https://iwb.jp/'

しかし、MDNのLocationのDocsなどを読んだがlocationへ直接URLを代入するとlocation.hrefと同じように遷移できるとは書かれていなかった。

また、ESLintを使用したところエラーとして検出されることもなかった。

一般的にはlocation.hrefと書くのが普通で、他のプロパティとの判別もしにくいため、locationで省略するような書き方は好ましくないため注意が必要だ。