Visit `stackoverflow.com/#_=_` and `window.location.hash` evaluates to `#_=_`. Fine.

Now execute `window.location.hash = ''` to clear the hash, and the URL becomes `stackoverflow.com/#`. (Notice the trailing `#`.)

Why is the `#` in `window.location.hash` inconsistently included or excluded? How can the `#` be removed from the URL without reloading the page?

([MDN](https://developer.mozilla.org/en-US/docs/DOM/window.location) says

> 
> [the hash is] the part of the URL that follows the # symbol, including the # symbol.
> 
> 
> 

but that is not true for in the case of an empty hash.)