Например, у меня есть довольно свежие версии официального Joyent NodeJS, установленного, конечно же, с движком JavaScript Google V8, а также JXcore с движком JavaScript Mozilla SpiderMonkey.
Первый, похоже, имеет встроенную поддержку Promises, второй, похоже, нет.
(И, конечно же, это не единственные две возможные среды, в которых может работать код nodeJS.
Как мой код может проверить свою среду, чтобы увидеть, может ли он использовать нативные промисы или нет?
Ничего страшного, если в этом случае он обнаружит правильный полифилл как «родной». Но он не должен обнаруживать что-то вроде Q как собственные промисы. (Или дайте мне знать, если я ошибаюсь.)