Если браузер поддерживает обещания, он будет поддерживать then
. Один из способов ( среди прочих ) проверить, поддерживает ли браузер обещания (без выдачи ошибки), - проверить, существует ли window.Promise
:
if(window.hasOwnProperty("Promise"))
{
console.log("Promises are supported.");
}
else
{
console.log("This browser does NOT support promises.");
}
Что касается ===
, я не думаю, что вам придется беспокоиться об этом. ===
был добавлен в ECMAscript в 3-м издании в декабре 1999 года, и трудно представить кого-либо (даже несгибаемого отсталого), использующего сегодня браузер, который его не поддерживает.
ОБНОВЛЕНИЕ:
Если вы действительно настаиваете на обнаружении поддержки ===
, мой вывод (из моих комментариев ниже) заключается в достижении sh этого путем исследования того, какие браузеры не поддерживают ===
и Browser Detection для обнаружения этих браузеров. Я надеюсь, что кто-то другой предлагает вам более простой способ, о котором я не думаю.