Перестаньте использовать let или чем бы заменить if

22 августа, 2017
1 минута чтения

Не безрезультатно веду пропаганду никогда не использовать тернарные операторы. if-else блоки более читаемы и понятны. В подтверждение приведу примерный код, который недавно пришлось править:

(true) ? (() => {
  // some pre
})() : void(0)

Зачем так писать? Непонятно. Если требуется один if, тогда позвольте писать хотя бы так:

(true) && (() => {
  // some pre
})()

А теперь сравните с привычным if:

if (true) {
  console.log(42)
}

С другой стороны, используя тернарные операторы можно делать такие конструкции:

const foo = (true) ? (() => 'bar')() : (() => 42)()

Вместо таких:

let foo
if (true) {
  foo = 'bar'
} else {
  foo = 42
}

Около полугода назад пришел к мысли что неплохо было бы вообще исключить использование let и var, заменив их на const во всех случаях. В случаях с неизвестной заранее переменной:

let x

if (some) {
  x = 'foo'
} else {
  x = 'bar'
}

Инициализировать ее через самовызывающуюся функцию:

const x = (() => {
  if (some) {
    return 'foo'
  } else {
    return 'bar'
  }
} 

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

Денис Сергеевич Басковский

Философ, изобретатель и поэт.

Добавить комментарий Отменить ответ

capture screen
Предыдущая статья

Делаем скриншот веб-страницы нативно

jpeg nodejs
Следующая статья

Как скачать картинку по ссылке на NodeJS

Exit mobile version