Как и любые другие приложения, приложения на JavaScript также должны быть хорошо написаны.

В противном случае позже мы столкнемся с самыми разными проблемами.

В этой статье мы рассмотрим некоторые передовые практики, которым следует следовать при написании кода JavaScript.

Остерегайтесь автоматического преобразования типов

Мы должны знать об автоматическом преобразовании типов данных.

Например, мы можем присвоить переменным любые значения, которые захотим.

Мы можем написать что-то вроде:

let text = "james";
text = 5;

В JavaScript легко изменить тип переменных.

Однако мы можем использовать языковые расширения, такие как TypeScript и Flow, для ограничения типов данных переменных.

Не объявляйте ненужные переменные

Если мы не используем переменную, ее следует удалить.

Чем больше объявлено переменных, тем больше места они занимают.

Например, вместо того, чтобы писать:

const topBar = sidebar.querySelector('#topbar');
const paragraph = bar.querySelector('p');
paragraph.textContent = 'bar';

Мы не использовали переменную topBar, поэтому удалять ее не следует.

Мы можем просто написать;

bar.querySelector('p').textContent = 'bar';

Использовать значения параметров по умолчанию

Чтобы гарантировать, что параметр всегда имеет значение, мы должны установить значение параметра.

Например, мы можем написать:

function logNumber(num = 100) {
  console.log(num);
}

Это намного короче старого способа, который:

function logNumber(num) {
  if (num === undefined) {
    num = 25;
  }
  console.log(num);
}

С параметрами по умолчанию нам не нужно напрямую назначать параметр новому значению.

Концевые переключатели со значениями по умолчанию

Если у нас есть switch операторы, мы должны закончить их предложением default, чтобы мы что-то делали, если ни одно из значений не совпадает.

Например, мы пишем:

switch(type) {
  case 1:
    // something
  case 2:
    // something else
  default:
    // do something
}

В предложении default мы можем обрабатывать ошибки или выполнять какое-либо действие по умолчанию.

eval () - это плохо

eval определенно плохо.

Запуск кода из строки - большая угроза безопасности.

А код нельзя оптимизировать и сложно отладить.

Не использовать новый объект ()

Конструктор Object не приносит нам особой пользы.

Только дольше.

Мы можем использовать {} вместо new Object().

Тот же совет применим к конструкторам примитивных значений.

Например, вместо new String() мы пишем ''.

Вместо использования new Number() мы используем число литералов.

И вместо new Boolean() мы используем true или false.

Вместо конструктора Array мы используем [].

Тем не менее, это все еще удобно для создания артаев с заданным количеством пустых слотов.

В регулярном выражении мы используем литерал регулярного выражения типа /abc/ вместо new RegExp().

И вместо того, чтобы использовать new Function() для создания нашей функции, мы используем function(){} или () => {} для ее создания.

Код короче без конструкторов.

А в случае примитивных конструкторов типом будет фактический тип данных вместо 'object', если мы проверим его с помощью typeof.

К тому же это немного быстрее.

Прокомментируйте наш код

Мы можем комментировать наш код, чтобы объяснять то, что не описано в коде.

Используйте сокращенные обозначения, когда это имеет смысл

Во многих случаях мы можем использовать сокращенные обозначения.

Например, вместо того, чтобы писать:

let level;
if (score > 200){
  level = 2;
} else {
  level = 1;
}

Мы можем написать:

let level = (score > 200) ? 2 : 1;

Мы используем тернарный оператор для проверки условия и соответствующего присвоения значения.

И вместо того, чтобы писать:

let price;
if (discount){
  price = discount;
} else {
  price = 120;
}

Мы пишем:

let price = discount || 120;

Если discount правдив, он будет возвращен и назначен. В противном случае возвращается и присваивается 120.

Используйте одну функцию для каждой задачи и сделайте наш код модульным

Наш код следует разделить на более мелкие части, чтобы нам было легче с ними работать.

Функции должны делать что-то одно, чтобы нас не путали с ними.

Это также упрощает тестирование и отладку.

Наш код должен быть модульным для той же цели.

Мы можем разделить их на модули.

Узнать об этом

this - важная клавиатура для понимания. Он может принимать разные значения в зависимости от того, где они находятся.

В методе внутри объекта this - это объект.

Если он находится в классе, то это экземпляр класса.

Если он находится в функции-прототипе, то это экземпляр конструктора.

Мы не должны этого знать.

Заключение

Мы должны использовать такие функции, как значения параметров по умолчанию и switch регистр по умолчанию.

И избегайте таких вещей, как бесполезные конструкторы.

Мы также должны узнать о this, преобразовании типов и многом другом.

JavaScript на простом английском языке

Понравилась эта статья? Если да, то получите больше похожего контента, подписавшись на наш канал YouTube в Decoded!