@@Ceero
die Kombination beider Variablen hingegen gibt nur die Minuten aus, ohne die Stunde davor:
alert(now.getHours() && now.getMinutes());
Das liegt daran, dass die „logischen Operatoren“ in JavaScript nicht wirklich solche sind. Auf boolschen Werte true
und false
angewandt verhalten sich &&
und ||
tatsächlich wie AND bzw. OR und das Ergebnis ist true
oder false
.
Anderen Werte werden aber nicht in boolsche Werte konvertiert, sondern das Ergebnis ist – je nachdem, ob der erste Operand falsy ist oder nicht – der Wert des ersten oder des zweiten Operanden, siehe MDN.
Von Mitternacht bis 00:59 liefert now.getHours() && now.getMinutes()
nicht die Minuten, sondern die Stunde (0), weil deren Wert dann falsy ist.
LLAP 🖖
--
Ist diese Antwort anstößig? Dann könnte sie nützlich sein.
Ist diese Antwort anstößig? Dann könnte sie nützlich sein.