Разница между a
и b
в этих определениях
var a = variableA ? variableB : false;
var b = variableA && variableB;
заключается в том, что a
будет либо false
(если variableA
ложно) или variableB
(если variableB
верно ), whereas
b will be either
переменная A or
переменная B`.
Теперь, если variableA
и variableB
уже либо true
, либо false
, тогда нет никакой разницы.
И если вы используете их в положении, где важна только достоверность значений (например, в if
), то и разницы нет.
Если вы всегда хотите получить либо true
, либо false
в качестве результата (независимо от заданных значений c variableA
и variableB
), тогда будет получено двойное отрицание !!
ты там:
var c = !!(variableA && variableB);