Советы по работе с функциями в JavaScript | OTUS
⚡Подписка от OTUS!
Собери свой пул курсов на выгодных условиях. Подробности в чате →
Написать в чат

Курсы

Программирование
Unity Game Developer. Basic
-15%
Разработчик программных роботов (RPA) на базе UiPath и PIX
-6%
Разработчик C#
-8%
Алгоритмы и структуры данных
-8%
Backend-разработчик на PHP
-8%
JavaScript Developer. Professional
-9%
iOS Developer. Professional
-8%
Базы данных
-12%
C# ASP.NET Core разработчик
-6%
Python Developer. Basic
-10%
Java Developer. Professional Web-разработчик на Python Android Developer. Basic PostgreSQL Software Architect Reverse-Engineering. Professional Kotlin Backend Developer React.js Developer VOIP инженер Нереляционные базы данных Scala-разработчик Супер-практикум по использованию и настройке GIT IoT-разработчик JavaScript Developer. Basic Advanced Fullstack JavaScript developer Unity Game Developer. Professional Супер-интенсив Azure
Инфраструктура
Супер-интенсив "Версионирование и командная работа с помощью Git"
-30%
Administrator Linux. Professional
-5%
Супер-интенсив «CI/CD или Непрерывная поставка с Docker и Kubernetes»
-30%
Разработчик программных роботов (RPA) на базе UiPath и PIX
-6%
Administrator Linux. Advanced
-8%
Infrastructure as a code in Ansible
-12%
Network engineer
-4%
MS SQL Server Developer
-8%
Cloud Solution Architecture Highload Architect Разработчик голосовых ассистентов и чат-ботов Мониторинг и логирование: Zabbix, Prometheus, ELK Супер-практикум по работе с протоколом BGP Супер - интенсив по паттернам проектирования Супер - интенсив по Kubernetes Архитектор сетей Супер-интенсив «IaC Ansible»
Специализации Курсы в разработке Подготовительные курсы
+7 499 938-92-02

Советы по работе с функциями в JavaScript

В этой статье мы дадим несколько советов по работе с функциями в JavaScript. Совет № 1 — избегайте передачи нескольких параметров в функции.

Дело в том, что JavaScript не является статически типизированным языком, поэтому невозможно дать гарантию, что функция вызывается с ожидаемыми и правильными параметрами. Тут нельзя не вспомнить инструмент для статического анализа кода ES6, который привносит много полезных функций. Среди них — деструктурирование объекта, которое тоже можно применять для аргументов функций.

Итак, давайте рассмотрим пример кода. Как думаете, является ли фрагмент, расположенный ниже, интуитивно понятным? Можно ли сразу сказать, каковы его параметры?

Screenshot_1-1801-983a47.png

А что можно сказать насчет следующего примера?

Screenshot_2-1801-bd74f6.png

Пожалуй, последний фрагмент удобнее для чтения. В особенности это относится к вызовам функций из другого модуля. При этом не имеет значения порядок аргументов, когда эти аргументы используются объектом, что уже весомый плюс.

Теперь посмотрим на предлагаемую конфигурацию ESLint:

Screenshot_3-1801-f7241f.png

Совет № 2: возвращайте объекты из функций

Для примера рассмотрим еще один фрагмент кода. Что он может нам рассказать о сигнатуре функции? Возвращает ли она объект пользователя, его идентификатор, статус операции? Пожалуй, не понимая контекста, сделать вывод непросто.

Screenshot_4-1801-f892b9.png

Однако путем возвращения объекта из функции намерение разработчика становится понятным, да и код становится более читабельным:

Screenshot_5-1801-2df437.png

Источник

Не пропустите новые полезные статьи!

Спасибо за подписку!

Мы отправили вам письмо для подтверждения вашего email.
С уважением, OTUS!

Автор
0 комментариев
Для комментирования необходимо авторизоваться