Простые и эффективные советы по улучшению кода JavaScript
Написание чистого кода необходимо для того, чтобы стать более ценным разработчиком. Многие компании захотят нанять вас и заплатить больше, если увидят, что вы можете создавать высококачественный код.
Вот почему я хочу поделиться с вами этими простыми, но действенными советами, которые мгновенно улучшат ваши навыки. Итак, давайте приступим!
Схема раннего возврата
Простой способ уменьшить количество операторов if-else в функции — использовать оператор return
вместо нескольких условий.
Мы можем реализовать функцию, которая проверяет действительность пользователя. Это гарантирует, что его электронная почта действительна и не используется.
Плохо
function isValidUser(user) { if (isValidEmail(user.email)) { const alreadyRegistered = findUserByEmail(user.email); if (!alreadyRegistered) { return true; } else { return false; } } else { return false; } }
Хорошо
function isValidUser(user) { if (!isValidEmail(user.email)) return false; return findUserByEmail(user.email); }
Используйте тернарные операторы
Тернарные операторы более удобны, чем операторы if-else, потому что они занимают меньше места и их легче читать. Это действительно помогает сделать код читабельным и лаконичным.
Мы хотим изменить message
на основе errorCode
. Обе реализации делают одно и то же, но подумайте, какая версия удобнее.
Плохо
const errorCode = 200; let message = null; if (errorCode > 299) { message = "Something went wrong"; } else { message = "Everything is alright"; }
Хорошо
const errorCode = 200; const message = errorCode > 299 ? "Something went wrong" : "Everything is alright";
Строки шаблона
Использование строк шаблона вместо конкатенации упрощает чтение и понимание кода. Гораздо проще включать переменные в вашу строку с интерполяцией, чем со знаком плюс.
Кроме того, шаблонные строки дают вам возможность писать многострочные выражения, что может быть чрезвычайно полезно.
Плохо
const name = "Pavel"; const job = "Frontend developer"; const age = 21; const message = "My name is " + name + ". I am " + age + " years old and I work as a " + job;
Хорошо
const name = "Pavel"; const job = "Frontend developer"; const age = 21; const message = ` My name is ${name}. I am ${age} old and I work as ${job} `;
Булево выражение && Func()
Мне очень нравится этот конкретный совет. Его можно успешно применять в тех случаях, когда у вас много вызовов функций на основе разных условий.
У нас есть массив удобств, и он должен обновляться в зависимости от имеющихся у нас логических значений. Мы можем легко избежать бесконечных операторов if в этом случае с помощью этого совета)
У нас есть массив удобств, и он должен обновляться в зависимости от того, что у нас есть. Мы можем легко избежать бесконечных операторов if в этом случае с помощью этого совета)
Плохо
const amenities = [] if (hasToilet) { amenities.push('Toilet') } if (hasKitchen) { amenities.push('Kitchen') } if (hasWifi) { amenities.push('Wi-Fi') }
Хорошо
const amenities = []; hasToilet && amenities.push("Toilet"); hasKitchen && amenities.push("Kitchen"); hasWifi && amenities.push("Wi-Fi");
Необязательная цепочка
Это мощная функция, которая позволяет разработчикам безопасно получать доступ к свойствам объекта, которые могут быть неопределенными или нулевыми. Это действительно упрощает работу с вложенными структурами данных и позволяет избежать непредвиденных ошибок.
У нас есть пользовательский объект, и мы хотим проверить его вложенное свойство town
. Но мы не хотим проверять наличие каждого поля вплоть до нужного.
Плохо
if (user.address && user.address.town && user.address.town === 'Tokyo') { console.log('Congratulations') }
Хорошо
if (user?.address?.town === 'Tokyo') { console.log('Congratulations') }
Строгие проверки равенства
Я могу с уверенностью заявить, что использование нестрогих проверок на равенство вредно для вашего кода и приложения в целом. Как правило, строгие проверки более точны и могут помочь предотвратить неожиданное поведение кода.
Если вам нужно сравнить переменные с приведением типов, просто сделайте это самостоятельно. Не стесняйтесь использовать такие функции и конструкторы, как String(), Number(), Boolean(), parseInt(), parseFloat()
. Это будет легче понять и, следовательно, поддерживать!
Плохо
const userInput = "5"; const validInput = 5; if (userInput == validInput) { console.log("Your Are Right!"); }
Хорошо
const userInput = "5"; const validInput = 5; if (parseInt(userInput) === validInput) { console.log("Your Are Right!"); }
Спасибо, что прочитали!
Надеюсь, вы нашли эту статью полезной. Если у вас есть какие-либо вопросы или предложения, пожалуйста, оставляйте комментарии. Ваш отзыв поможет мне улучшить содержание для нашей взаимной выгоды.
Не забудь подписаться⭐️
Дополнительные материалы на PlainEnglish.io.
Подпишитесь на нашу бесплатную еженедельную рассылку новостей. Подпишитесь на нас в Twitter, LinkedIn, YouTube и Discord.
Повысьте узнаваемость и признание вашего технического стартапа с помощью Circuit.