Was macht ~~ in JavaScript / node.js? [Duplikat]

8

Ich habe diesen Code-Ausschnitt in der Quelle einer node.js-Bibliothek gefunden. Welchen Effekt hat ~~ auf die Variable input ?

%Vor%

Es wird auch auf andere Arten verwendet:

%Vor%     
Kato 10.04.2012, 18:32
quelle

3 Antworten

13

Der Operator ~ dreht die Bits seines Operanden um. Wenn Sie es zweimal verwenden, werden die Bits umgedreht und dann wieder umgedreht, wobei ein Standard-Javascript-Wert zurückgegeben wird, der dem Operanden entspricht, jedoch in ganzzahliger Form. Es ist eine Abkürzung für parseInt(myInt) .

    
Elliot Bonneville 10.04.2012, 18:35
quelle
9

Es ist ein hackischer Weg, um einen Wert abzuschneiden, ein bisschen wie Math.floor , außer dass sich das bei negativen Zahlen anders verhält. Wenn Sie beispielsweise -15.9 ( ~~-15.9 ) abschneiden, erhalten Sie -15 , aber bei flooring wird immer auf die niedrigste Zahl gerundet, sodass Math.floor(-15.9) 16 ergibt.

Eine andere Möglichkeit ist OR mit Null .

%Vor%     
Alex Turpin 10.04.2012 18:35
quelle
1

Konvertiert den Wert in eine Ganzzahl.

    
ThiefMaster 10.04.2012 18:34
quelle

Tags und Links