Вызов функции ЕСЛИ значение логической переменной 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()