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

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

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

Нет пробелов между операторами распространения и их выражениями

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

Например, вместо написания:

fn(... args)

Мы пишем:

fn(...args)

Точка с запятой должна иметь пробел после и без пробела перед

После точки с запятой должен стоять пробел, а перед ним не должно быть пробелов, как это принято в JavaScript.

Например, вместо написания:

for (let i = 0 ;i < arr.length ;i++) {...}

Мы пишем:

for (let i = 0; i < arr.length; i++) {...}

Между блоками должен быть пробел

Если мы создаем блок, то перед ним должен стоять пробел.

Например, вместо написания:

if (cond){...}

Мы пишем:

if (cond) {...}

Внутри круглых скобок нет пробелов

В скобках не должно быть пробелов.

Например, вместо написания:

getName( person )

Мы пишем:

getName(person)

После унарных операторов должен быть пробел

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

Кроме того, мы не хотим соединять слова вместе.

Например, вместо написания:

typeof!cond

Мы пишем:

typeof !cond

Используйте пробелы внутри комментариев

У нас должны быть пробелы внутри комментариев JavaScript.

Например, вместо написания:

//comment

Мы пишем:

// comment

Для многострочных комментариев не следует писать:

/*comment*/

Вместо этого мы пишем:

/* comment */

Без пробелов в строках шаблона

У нас не должно быть пробелов в начале или в конце выражения в строках шаблона.

Например, вместо написания:

const message = `hi, ${ name }`

Мы пишем:

const message = `hi, ${name}`

Чтобы проверить NaN, мы должны использовать isNaN

Мы не можем использовать === для сравнения NaN, поскольку NaN не считается самим собой.

Вместо этого нам нужно использовать функцию isNaN для проверки NaN.

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

if (price === NaN) { }

Мы пишем:

if (isNaN(price)) { }

typeof должен сравниваться со строкой

typeof необходимо сравнить с допустимой строкой.

Убедитесь, что в строке нет опечаток.

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

typeof name === 'undefimed'

когда мы на самом деле имеем в виду:

typeof name === 'undefined'

Сразу вызываемые функциональные выражения (IIFE) должны быть заключены в оболочку

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

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

const getName = (function () { }())

or:

const getName = (function () { })()

or:

const getName = (() => { })()

Выражения yield должны иметь пробел до и после

Когда мы вызываем функцию генератора из другой функции генератора, нам понадобится ключевое слово yield *.

Мы должны написать это так для согласования с соглашениями JavaScript.

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

yield * foo();

Нет выражений Йоды

У нас должно быть значение, которое мы сравниваем, как правильный оператор, чтобы нам было проще с ними работать.

Это больше похоже на обычную человеческую речь

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

if (age === 2) { }

вместо того:

if (2 === age) { }

Точка с запятой

У нас должны быть точки с запятой, чтобы избежать автоматической вставки точки с запятой в неожиданных местах.

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

window.alert('hi');

Никогда не начинайте новую строку с символов, с которых мы не ожидаем начать новую строку

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

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

;(function () {
  window.alert('ok')
}())

Вместо этого мы пишем:

(function () {
  window.alert('ok')
}())

Заключение

Мы не должны писать код, которого не ожидает большинство людей.

Кроме того, мы должны писать код, который естественно читается как программисты.

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

На простом английском

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