TGViewer
Javascript Javascript @javascriptv · 16.9K subscribers
Post #718 3.71K
🖥 8 советов по разработке на JavaScript, которые освободят вас от переработок

#1. Удаление элементов массива
В процессе работы над проектом часто возникает необходимость удалить элемент из массива. Вероятно, первое, что приходит в голову,  —  использовать delete. Однако всем известно, что элемент после удаления станет неопределенным и не исчезнет полностью, а будет потреблять много времени при выполнении. Таким образом, это решение не отвечает нашим потребностям и не является оптимальным.

Для удаления элементов массива лучше использовать метод array.splice():

const array = ["b", "c", "d", "e"]

array.splice(0, 2) // ["b", "c"]


#2. Проверка пустоты объекта
Мы часто сталкиваемся с необходимостью проверить, является ли объект пустым. Выполнить это требование можно относительно простым и удобным способом  —  использовать метод Object.keys() для получения ключей объекта. Таким образом, мы вернем значение, содержащее эти ключи. Если возвращаемый массив имеет длину 0, то объект должен быть пустым.

Вот как выглядит этот метод:

Object.keys({}).length // 0

Object.keys({key: 1}).length // 1

#3. Отказ от частого использования with() и eval()
Рассмотрим проблемы, связанные с их использованием with() и eval().

with() помещает переменную в глобальную область видимости. Поэтому если другая переменная имеет такое же имя, это может привести к путанице и перезаписи значения.
eval()  —  это относительно ресурсоемкая операция, поскольку при каждом ее вызове механизм выполнения сценария должен преобразовывать исходный код в исполняемый.

#4. Сокращение console.log()
При отладке довольно хлопотно каждый раз писать console.log(). Поэтому можно использовать следующую форму для упрощения кода.

const c = console.log.bind(document)

#5. Фильтрация значений ошибок
При выполнении требований проекта мы часто сталкиваемся с false, 0, null, undefined и другими значениями, которые необходимо отфильтровать в массиве. Для этого можно использовать следующие методы:

const array = [3, 4, undefined, 8, 9, '', false];

array.filter(Boolean);

// [3, 8, 9]


#6. map() для унификации с элементами массива
Сначала вспомним, что представляет собой метод map(). Он служит для создания нового массива, состоящего из возвращаемого значения предоставленной функции, вызываемой один раз для каждого элемента в исходном массиве.

Для простоты и наглядности рассмотрим пример: выполнить по 3 операции со всеми элементами массива.

let arr = [1,2,3]

arr = arr.map(item=>item*2)

console.log(arr); //[ 1,6,9 ]


#7. Array.from() для преобразования массивоподобной структуры в массив
Метод Array.from() используется для создания нового поверхностного экземпляра массива из массивоподобного или итерируемого объекта. Если для вас это объяснение слишком отвлеченное, то можно определить и проще: объект с длиной и несколькими индексами.

let str = 'bcd'

str = Array.from(str)

console.log(str); // [ 'b', 'c', 'd' ]


#8. Быстрая очистка массива
В проектах мы часто сталкиваемся с тем, что нам нужно очистить массив. Длину массива можно установить на 0:

let array = ["b", "c", "d"]

array.length = 0

console.log(array) // []


@javascriptv
  • 👍 18
  • ❤ 2
  • 🔥 1
More from @javascriptv
  1. Oct 8, 2026Почему сайт узнаёт тебя после удаления cookies? Удалил cookies, но сайт будто помнит тебя?…
  2. Oct 6, 2026Arc Time Slider Это кастомный слайдер, разработанный с использованием веб-технологий HTML,…
  3. Oct 5, 2026Ознакомьтесь с этими 5 советами по адаптивному веб-дизайну 👨‍💻
  4. Oct 3, 2026Импорт локальных изображений vs использование изображений из папки / public в Next.js
  5. Oct 2, 2026Совет по веб-доступности 💡 Лучший способ сделать ваши ссылки, состоящие только из иконок,…
  6. Sep 30, 2026🌐 Человек, который создал первый веб-браузер, сервер и заложил основу современного интерн…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →