$("#address").suggestions(...)
, то плагин навешивает на элемент свои скрипты и, возможно, дополнительные элементы DOM. А уже в этих скриптах по событию onSelect вызывается каллбэк-функция, в которую передаётся suggestion.header.classList.remove("fixed-header");
const aheader = document.querySelector(".fixed-header");
получаете null.- if (window.scrollY > 100) {
- aheader.classList.add("active-header");
- } else {
- aheader.classList.remove("active-header");
- }
+ aheader?.classList.toggle('active-header', window.scrollY > 100);
catch(onRejected)
Returns a new Promise. This new promise is always pending when returned, regardless of the current promise's status. It's eventually rejected if onRejected throws an error or returns a Promise which is itself rejected; otherwise, it's eventually fulfilled.
.catch(null)
не работает, поскольку не указана функция onRejected..catch
возвращает Promise.fulfilled, согласно спецификации. Number.MAX_SAFE_INTEGER // 9007199254740991 = 2**53 - 1
parseInt('FFFFFFFFFFFFCCFF', 16) // 18446744073709540000
BigInt('0xFFFFFFFFFFFFCCFF') // 18446744073709538559n
Таким образом, пытаясь преобразовать такое значение из шестнадцатеричного в десятичное обычного типа Number, вы теряете последние разряды, поскольку число получается не целым, а вещественным.