Если вам нужна проверка наличия Geolocation API, то приведённый вами способ подходит как раз.
В последнем издании ECMAScript был добавлен новый метод
Promise.prototype.finally. Отсутствие данного метода указывает на использование старого движка JS.
try {
if ("finally" in Promise.prototype === false) throw e;
} catch(e) {
document.getElementById('loading').innerHTML = '<p>The load is canceled.<br>This software needs a modern web browser.';
}
Но более правильный способ — проверять именно то, что вы хотите использовать!
Я всегда буду благодарен за то, что дал нам jQuery 13 лет назад. Однако он давно исчерпал свои возможности, и, если вам не нужно поддерживать очень старые браузеры, я лично не вижу необходимости использовать его больше.