В [Modernizr](https://github.com/Modernizr/Modernizr/blob/master/feature-detects/history.js#L40) проверка на поддержку этого свойства выглядит вот так:
`(window.history && 'pushState' in window.history);`

1. Давай использовать в таком синтаксисе
2. Вынеси свойство `hasHistoryAPI` (например) в статическое свойство этого блока для того, чтобы, ну мало ли, можно было включать/отключать history API когда нужно. Например [для такого](https://github.com/Modernizr/Modernizr/blob/master/feature-detects/history.js#L31-L37)