console.log({...names});
console.log(JSON.parse(JSON.stringify(data)));
beforeunload
злоупотребляют спамеры, поэтому полагаться на него не стоит (не говоря о том, что это костыль). element.style.backgroundColor = value
.Здесь можно даже и не заподозрить, что then что-то возвращает.Все функции в js что-то возвращают. Если явного return нет или в нём не указано значение, то возвращается undefined.
Но поскольку там null, можно подумать, что исходный промис просто как-то передается дальше.Так и есть - вы не передали никакой callback и весь этот вызов как бы игнорируется. Этот сценарий аналогичен предыдущему.
Еще интереснее - then возвращает простое значение, которое моментально попадает в следующий then.Это ваш callback возвращает простое значение, которое then оборачивает в отрезолвленный промис.
Можете рассказать в общих чертах, если then возвращает промис, то как он его формирует?Ну берёт и формирует... Примерно так:
then = (onFulfilledCallback, onRejectedCallback) => {
try {
let newValue;
if (this.previousValue instanceof Error) {
newValue = onRejectedCallback(this.previousValue);
} else {
newValue = onFulfilledCallback(this.previousValue);
}
if (newValue instanceof Promise) {
return newValue;
} else {
return Promise.resolve(newValue);
}
} catch (error) {
return Promise.reject(error);
}
}
Это псеводокод но общий смысл такой. let makeItDouble = (text) => {
let i = text + text;
return i;
};
console.log(makeItDouble("I never look back"));
Return всё прекрасно возвращает. Но то, что он возвращает, нужно сохранять в переменную или использовать сразу. Переменная i находится внутри функции и снаружи недоступна. Если бы можно было делать так, как вы написали, то и смысла в return бы не было. Parameters
indexStart
The index of the first character to include in the returned substring.
indexEnd
Optional
The index of the first character to exclude from the returned substring.
Description
IfindexStart < 0
, the index is counted from the end of the string. More formally, in this case, the substring starts atmax(indexStart + str.length, 0)
.
IfindexEnd < 0
, the index is counted from the end of the string. More formally, in this case, the substring ends atmax(indexEnd + str.length, 0)
.
зачем нужен (-2, -1)Для выполнения вот этого условия задачи: "если слово заканчивается на мягкий знак, то получите предпоследнюю букву". Я искренне не понимаю, что тут можно добавить...
sliceHandler
передаёте div-обёртку, а внутри функции думаете, что это какой-то его ребёнок.key
через атрибут html-тега. Значение key
даже через props
нельзя получить, не говоря уже про html.setInterval(function () {
const $element = document.querySelector("#content > div > div.taskblackout");
if ($element && $element.style.display === 'block') {
document.location.reload()
}
}, 5000);
const check = () => {
const $element = document.querySelector("#content > div > div.taskblackout");
if ($element && $element.style.display === 'block') {
document.location.reload()
} else {
setTimeout(check, 5000);
}
};
setTimeout(check, 5000);
--test
и --test
в объекте не равны. Пробелы там, спецсимволы, ещё что-то. Другого варианта просто нет. +new Date('2024', +'02' - 1, '01') / 1000
.info['10']['5'][propName]
dwayne['[object Object]'] = 123;
dwayne['[object Object]'] = 456;
console.log(dwayne['[object Object]']);
dwayne.daniel = 123; // аналог dwayne['daniel']
dwayne.jason = 456; // аналог dwayne['jason']
console.log(dwayne.daniel);
let a = 3;
let b = 15;
let one = {};
one.a = a;
one.b = b;
a = 42;
console.log(one.a, one.b); // 3, 15
console.log(a, b); // 42, 15
let a = 3;
let b = 15;
let two = new Map();
two.set('a', a);
two.set('b', b);
a = 42;
console.log(two.get('a'), two.get('b')); // 3, 15
console.log(a, b); // 42, 15
onSubmit
вы вызываете addReservationAsync
с двумя аргументами: requestServer
и объект с кучей полей. А addReservationAsync
ожидает 6 аргументов (то есть не объект, а каждое значение отдельно).