sürü bu
// implicit cast
+true; // 1
+false; // 0
// bit shift by zero
true >>> 0; // 1, right zerofill
false >>> 0; // 0
true << 0; // 1, left
false << 0; // 0
// double bitwise NOT
~~true; // 1
~~false; // 0
// bitwise OR ZERO
true | 0; // 1
false | 0; // 0
// bitwise AND ONE
true & 1; // 1
false & 1; // 0
// bitwise XOR ZERO, you can negate with XOR ONE
true^0; // 1
false^0; // 0
// even PLUS ZERO
true + 0; // 1
false + 0; // 0
// and MULTIPLICATION by ONE
true * 1; // 1
false * 1; // 0
Ayrıca 1
, true/1; // 1
tarafından bölünmesini kullanabilirsiniz, ancak ben kaçınarak tavsiye ederiz Mümkün olduğunda bölünme.
Ayrıca, sigara tekli operatörlerden birçok size dönüştürülen istediğiniz bir değişken eğer öyleyse, bunu çok çabuk yapabileceğiniz bir assignment version var.
Sen this jsperf ile farklı yöntemlerin bir karşılaştırmasını görebilirsiniz.
Şansı muhtemelen bunu yapmak gerekmez vardır. Herhangi aritmetik işlem zaten senin boole dönüştürür: örneğin 'gerçek + gerçek + gerçek == 3 ' – Eric
yapacak sayısal değerlere onun işlenen dönüştürür herhangi bir operatör. Tüm operatörlerin listesi: http://es5.github.com/#x11-toc. –
@FelixKling bağlantıyı düzeltebilir misiniz? –