Page Nav

HIDE
HIDE
GRID_STYLE

Gradient Skin

Gradient_Skin

Pages

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

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

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

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

Зачем так писать? Непонятно. Если требуется один if, тогда позвольте писать хотя бы так:
(true) && (() => {
  // some code
})()

А теперь сравните с привычным 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'
  }