Der Browser-Speicher localStorage ist nicht verfügbar. Entweder unterstützt dein Browser ihn nicht oder du hast ihn deaktiviert oder er ist voll. Ohne localStorage werden deine Lösungen nicht gespeichert.

XOR

Die logischen Operatoren kennen, ähnlich der Punkt- vor Strich-Rechnung, eine Reihenfolge: NICHT zuerst, anschließend UND, zuletzt ODER. Möchte man diese Reihenfolge ändern, verwendet man Klammern:
let x1 = true || false && false;
let x2 = (true || false) && false;
let x3 = !false && false;
let x4 = !(false && false);
In der ersten Zeile wird zuerst UND ausgewertet. x1 wird true. In der zweiten Zeile wird zuerst ODER ausgewertet. x2 wird false. In der dritten Zeile wird zuerst NICHT ausgewertet. x3 wird false. Und in der vierten Zeile wird zuerst UND ausgewertet. x4 wird true.

In der folgenden Aufgabe sollst du ein weiteres wichtiges Gatter, das XOR-Gatter (engl.: eXclusive OR - exklusives oder), programmieren.

Aufgabe

Schreibe eine Funktion xor, die zwei boolesche Werte als Parameter entgegennimmt. Die Rückgabe der Funktion soll true sein, wenn beide Paramter verschieden sind. In den anderen Fällen soll die Rückgabe false sein.

D. h.: xor(true, false) und xor(false, true) sollen true liefern, xor(true, true) und xor(false, false) sollen false zurückgeben.
Schreibe einen Ausdruck, der nur dann true ergibt, wenn der erste Parameter true und der zweite false ist. Schreibe dann einen Ausdruck, der nur dann true ergibt, wenn der erste Parameter false und der zweite true ist. Verknüpfe beide Ausdrücke angemessen. Klammern sind bei der Lösung nicht nötig.
function xor(a, b) {
  return a && !b || !a && b;
}

loving