Zgodnie z this table in the ECMAScript standard wartości łańcuchów, które mają długość 0, powinny być ocenione jako logiczne false
.Dlaczego niektóre niepuste ciągi oceniają na "false" w JavaScript?
W takim razie, te stwierdzenia oceniają na true
?
"\t" == false
" " == false
"\n" == false
" " == false
Wszystkie te struny mają długość większą niż 0. Na przykład:
Choć rozumiem, że "0"
ocenia się false
ponieważ może być zmuszany do numerycznej 0
, mogę” t wyjaśnić, dlaczego te struny są falsey. Co się dzieje?
(Oczywiście można używać ===
do ścisłego porównania, ale w tym przypadku w moim kodu, muszę luźne porównanie, jednak nie spodziewałem się niepusty łańcuch należy uznać falsey.)
W której przeglądarka/środowisko widzisz to zachowanie? – iamnotmaynard
Prawdopodobnie powielono na tej stronie stackoverflow: http: //stackoverflow.com/questions/5634372/why-is-t-n-false-in-javascript – Reza
@vaggia Tak, prawie. Niestety nie pojawił się w moich poszukiwaniach. – Matt