2012-09-01 19 views
10

Leggendo attraverso un po 'di codice, ho trovato l'uso di !0 e !1. Mi rendo conto che questi sono modi più brevi di scrivere true e false.Is! 0 e! 1 qualcosa in più di una scorciatoia per vero/falso?

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

Questo, naturalmente, salvo pochi byte, ma c'è qualche altra ragione per usarlo?

C'è un nome per questo modo di scriverlo?

+12

Sì - "confusione e mancanza di leggibilità";) – Oded

+0

@Oded Molto d'accordo! :) –

+0

Preferisco '!! 0' (falso) e' !! 1' (vero) per molta più chiarezza e solo un aumento della dimensione del 50%! No. Davvero, usa le parole chiave .. –

risposta

8

maggior JavaScript strumenti minification, come UglifyJS, generano quel codice, perché è più breve e semanticamente equivalenti. Ad esempio, dato:

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

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

In genere, non è necessario scrivere codice utilizzando tale stile; lascia che il minifiers do il loro lavoro :-).

+0

Grazie! Sentivo che era il lavoro di un minificatore, volevo solo assicurarmi che non ci fosse qualcosa di più che mi mancava. –