Такие JavaScript трюки стоит знать
Все мы знаем, что JavaScript
язык с забавными причудами, и иногда можно складывать строки и числа, а потом гадать что же там получится...
Но в этом и прелесть этого языка, поэтому давайте еще лучше узнаем разные фишки этого языка, которые вам обязательно пригодятся!
Ликвидируем пустые значения из массива
Если пробросить в функцию .filter()
в качестве параметра Boolean
, то это уберет все значения из массива, которые при касте к bool
будут равны false
, а именно undefined
, null
, 0
, ""
(пустая строка), NaN
, false
.
const array = ['one', 0, 'two', null, 'three', false, 'cheese', undefined]; console.log(array.filter(Boolean)); // ['one', 'two', 'three', 'cheese']
Изменяем размер массива
Вы можете изменить размер массива через свойство length
:
const array = ['one', 'two', 'three']; array.length = 1; console.log(array); // ['one']
Быстрый каст к boolean
Для быстрого каста к bool
можно использовать !!
(по факту тоже самое, что и Boolean()
):
console.log(!!"one"); // true console.log(!!0); // false console.log(!!1); // true console.log(!!undefined); // false
Избавляемся от лишних if
Вы можете использовать && или || вместо лишних проверок в своем коде, для того чтобы сократить некоторые фрагменты кода:
const val = 'road'; // Вместо этого if (val === 'road') { console.log('Дорога'); } // Вы можете написать вот так val === 'road' && console.log('Дорога'); // Вместо этого if (val !== 'road') { console.log('Похоже не дорога'); } // Вы можете написать вот так val === 'road' || console.log('Похоже не дорога');
Удобное логирование
Вы можете просто обернуть аргумент, который вы передаете в console.log() в фигурные скобки и в итоге при выводе в консоль увидите не только значение переменной но и ее название (что немного короче чем передавать два аргумента):
const pet = 'Котейка'; console.log(pet) // 'Котейка' // Можно вместо вот этого console.log('pet: ', pet); // 'pet: Котейка' // Использовать вот это console.log({ pet }) // {pet: 'Котейка'}
Следить за производительностью кусков кода
Иногда может быть просто необходимо как-то замерить производительность работы кода, чтобы, например, понять какой фрагмент алгоритма или отрисовки самый долгий, самый простой метод - использовать нативные функции:
const time0 = performance.now(); for (let i = 0; i < 10000; ++i) { console.log(i); } const time1 = performance.now(); console.log(`Цикл затратил ${time1 - time0} мс на то, чтобы отработать`);
На этом сегодня все) Не забывайте подписываться на телеграм канал, чтобы не пропустить новые статьи, до встречи ✌️
Читайте еще:
- Что такое сборщики JavaScript и зачем их использовать
- Пишем меньше @media используя сlamp
- Безопасный каскад стилей CSS с :where