Изменение == на === в if(window.location == 'x') приводит к тому, что блок не выполняется

Я проверяю свой код для использования == вместо ===, но меняем эту строку:

if(window.location == 'app:/test.html')

К этому:

if(window.location === 'app:/test.html')

Результаты в блоке больше не выполняются.

Какой правильный подход?

1 ответ

Причина этого в том, что === соответствует типу, а также содержимому.

window.location действует как string в большинстве случаев, но на самом деле Location объект.

Вы можете изменить свой if проверить href свойство, которое является string:

if(window.location.href === 'app:/test.html')

Ваш код будет работать как задумано!

У MDN есть достойная статья о window.location это стоит прочитать.

Другие вопросы по тегам