1. Вы знали? Операции округления также можно выполнять с помощью побитовых операций.
var y = 3.45 | 0; // 3
Объяснение. Поскольку побитовые операции поддерживают только 32-битные целые числа, все десятичные точки отбрасываются.
2. Судите, сжат ли код, и вы все еще можете сделать это:
function CustomFn() {} const isCrashed = typeof CustomFn.name === ‘string’ && CustomFn.name === ‘CustomFn’;
3. Как вы думаете, можно ли использовать clearTimeout
и clearInterval
взаимозаменяемо? Конечно, большинство браузеров поддерживают таймеры взаимной очистки, но рекомендуется использовать соответствующую функцию очистки.
var timeout = setTimeout(() => console.log(1), 1000);var interval = setInterval(() => console.log(2), 800); clearInterval(timeout);clearTimeout(interval);
4. Есть ли другой способ очистить массив, кроме среза?
const arr = [4, 5, 6];console.log(arr); // [4, 5, 6] arr.length = 0;console.log(arr); // []
Также рекомендуется переназначить новый пустой массив независимо от того, на какой массив ссылаются.
5. Интересный вопрос: есть ли разница между +0 и -0? Да, разница есть.
1/+0 === Infinity1/-0 === -Infinity
Спасибо.
Дополнительные материалы на PlainEnglish.io. Подпишитесь на нашу бесплатную еженедельную рассылку новостей. Подпишитесь на нас в Twitter и LinkedIn. Посетите наш Community Discord и присоединитесь к нашему Коллективу талантов.