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 и присоединитесь к нашему Коллективу талантов.