Feature detection

Работа со свойствами и методми, которые могут не поддерживаться браузером

Замена не существующего свойтва или метода

let os = window.navigator.oscpu || window.navigator.platform

Chrome не поддерживает метод navigator.oscpu, поэтому вызов этого метода вернет fasly значение, что приведет к вызову метода window.navigator.platform

Запуск метода в определеном браузере

Это не рекомендуемый, но допустимый способ вызова функций. Как вы думаете, почему этот способ хуже предыдущего?


        let os = "";

        if(navigator.userAgent.indexOf("Chrome") > 0) {
            os = window.navigator.platform
        }
        if(navigator.userAgent.indexOf("Firefox") > 0) {
            os = window.navigator.oscpu
        }
        
back