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.

Wahrheitswerte

Der dritte wichtige Datentyp neben Strings und Zahlen sind Wahrheitswerte. Sie werden auch boolesche Werte genannt. Boolesche Werte kennen nur zwei Zustände: true und false. Mit booleschen Werten kann man ähnlich "rechnen" wie mit Zahlen. JavaScript kennt drei boolesche Operatoren: '&& (und), || (oder) und ! (nicht). Das Ergebnis dieser Operationen ist wieder ein boolescher Wert. && verknüpft zwei boolesche Werte. Sind beide Werte true, ist das Ergebnis auch true. In allen anderen Fällen ist es false. Bei || ist das Ergebnis false, wenn beide Eingangswerte auch false sind. In allen anderen Fällen ist das Ergebnis true. ! wird nur auf einen booleschen Wert angewendet und invertiert diesen Wert: aus true wird false und aus false wird true.
let x1 = true && false;
let x2 = !x1;
let x3 = x1 || x2;
x1 ist false, x2 ist true und x3 ist ebenfalls true.

Aufgabe

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

D. h.: nand(true, true) soll false liefern, nand(true, false), nand(false, true) und nand(false, false) sollen true zurückgeben.
function nand(a, b) {
  let and = a && b;
  ...
}
function nand(a, b) {
  let and = a && b;
  return !and;
}

loving