2012-09-01 15 views
10

Czytając jakiś kod, natknąłem się na użycie !0 i !1. Zdaję sobie sprawę, że są to krótsze sposoby pisania true i false.Czy! 0 i! 1 to coś więcej niż skrót dla prawdziwej/fałszywej?

!0 === true 
!1 === false 

To oczywiście zaoszczędzić kilka bajtów, ale czy jest jakiś inny powód, aby go użyć?

Czy istnieje nazwa tego sposobu zapisu?

+12

Tak - "mylące i pozbawione czytelności";) – Oded

+0

@Oded Bardzo się zgadzam! :) –

+0

Wolę '!! 0' (fałsz) i' !! 1' (prawda) dla dużo większej przejrzystości i tylko 50% wzrostu rozmiaru! Nie. Naprawdę, używaj słów kluczowych .. –

Odpowiedz

8

Większość JavaScript narzędzia minifikacji, jak UglifyJS, generować że kod, ponieważ jest krótsza i semantycznie równoważne. Na przykład, biorąc pod uwagę:

var x = true; 
if (x) { 
    alert(x); 
} 

UglifyJS generuje var x=!0;x&&alert(x).

Zazwyczaj nie trzeba pisać kodu za pomocą tego stylu; niech pracują: do.

+0

Dzięki! Wyczułem, że to dzieło minifigurki, chciałem tylko upewnić się, że nie było czegoś więcej, czego mi brakowało. –