Вызов функции ЕСЛИ значение логической переменной FALSE

У меня есть запрос на улучшение способа написания кода в ES6.

Я вызываю функцию, когда моя переменная установлена ​​в FALSE

Первоначально this.myVariable устанавливает в true но по какой-то логике становится false и я вызываю функцию, когда мое логическое значение false

if(!this.myVariable) {
     this.onClearSearch();
}

Я новичок в ES6, поэтому я хочу знать, есть ли способ написать это лучше или одним лайнером. Это может быть очень маленькая логика, но все же она может дать мне лучшее понимание для улучшения моего кода и логики.

Примечание. Мое решение тоже работает.

3 ответа

В es6/7/8 нет волшебного синтаксиса, который улучшил бы фрагмент кода, который вы нам показали.

Думаю, есть несколько альтернативных синтаксисов, о которых вы, вероятно, уже знаете.

Я бы лично порекомендовал вам стили A или B, потому что их легко понять и быстро написать.

function onClearSearch() {
  console.log('call');
}

const myVariable = false;

// Writting style A
if (!myVariable) {
  onClearSearch();
}

// Writting style B
if (myVariable == false) {
  onClearSearch();
}

// Writting style C
if (myVariable == false) onClearSearch();

// Writting style D
myVariable || onClearSearch();

// Writting style E
myVariable ? void 0 : onClearSearch();

// Writting style F
myVariable ? _ : onClearSearch();

Если вы хотите точно проверить значение false, вы можете сделать это так:

if (this.myVariable === false) {
  this.onClearSearch();
}

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

Вы также можете, конечно, сделать то же самое, что и с !this.myVariable но это также верно и для "ложных" значений, таких как 0 или '' (пустая строка).

Если вы это имели в виду, я рекомендую вам проверить концепции истинности и ложности в JavaScript.

Следующая идиома довольно распространена в коде React для условного рендеринга:

!this.myVariable && this.onClearSearch()
Другие вопросы по тегам