Logisches ODER in JavaScript




logical-or (4)

Sie können alle Funktionen aufrufen, indem Sie die Werte sammeln und dann die Werte überprüfen.

function first(){
    console.log("First function");
    return true;
}

function second(){
    console.log("Second function");
    return false;
}

console.log([first(), second()].some(Boolean));

Diese Frage hat hier bereits eine Antwort:

Ich bin auf einen Fall gestoßen, in dem ich beide Funktionen in einem JavaScript oder Ausdruck ausgeführt habe:

function first(){
    console.log("First function");
    return true;
};

function second(){
    console.log("Second function");
    return false;
};

console.log(!!(first()||second()));

In diesem Fall wird ausgegeben:

"Erste Funktion"

wahr

In C # gibt es ein logisches (|) ODER, das sich von einem Bedingten unterscheidet, oder (||), das sicherstellt, dass beide Ausdrücke ausgewertet werden:

Func<bool> first = () => { Console.WriteLine("First function"); return true; };
Func<bool> second = () => { Console.WriteLine("Second function"); return false; };
Console.WriteLine(first() | second());

Dies wird Folgendes ausgeben:

In diesem Fall wird ausgegeben:

"Erste Funktion"

"Zweite Funktion"

wahr

Ich kann anscheinend keine Informationen darüber finden, wie dieselbe Logik in JavaScript implementiert werden kann, ohne die Ausdrücke vorher auszuführen:

function first(){
    console.log("First function");
    return true;
};

function second(){
    console.log("Second function");
    return false;
};

var firstResult = first();
var secondResult = second();

console.log(firstResult||secondResult);

Gibt es eine Möglichkeit, ein C # -logisches ODER in JavaScript zu implementieren?

Vielen Dank.


Sie können den bitweisen Operator oder den Operator verwenden und das Ergebnis in einen Booleschen Wert umwandeln

let a = () => {console.log("a"); return true}
let b = () => {console.log("b"); return false}
console.log(!!(a()|b()))

Dies gibt aus

ein

b

wahr


Verwenden Sie einfach | ( Bitwise OR ):

function first(){
    console.log("First function");
    return true;
};

function second(){
    console.log("Second function");
    return false;
};

console.log(!!(first()|second()));

Lesen Sie mehr über logische Operatoren ( || , !! , etc ...) und bitweise Operatoren ( | , & , etc ...) in JavaScript.


function first(){
    console.log("First function");
    return true;
};

function second(){
    console.log("Second function");
    return false;
};

console.log(!!(first() | second()));

// Verwenden Sie stattdessen diese





logical-or