Ich habe den Code von respons.js in express geprüft und bin auf diesen Code gestoßen:
%Vor% Meine Frage ist, was macht der Operator ~
vor der type.indexOf()
-Anweisung? Was ist sein Zweck und wann wird es verwendet?
Es ist ein bitweise NICHT , obwohl seine Verwendung hier ziemlich undurchsichtig ist.
Es wird verwendet, um ein -1
Ergebnis von indexOf
(dh String nicht gefunden) in ein 0
zu transformieren, was ein falscher Wert ist (da ~-1 == 0
und 0
in a falsch ist Boolescher Kontext) und lässt alle anderen Werte truthy bleiben.
Es hätte deutlicher als (type.indexOf('/') != -1) ? ... : ...
Im Klartext heißt es: "Behandle ein -1
result (dh wenn /
nicht gefunden wurde) von indexOf
als false
; andernfalls behandle das Ergebnis als true
".
Die Tilde ist der bitweise NOT-Operator, genauso wie !
der logische NOT-Operator ist. Vielleicht möchten Sie sich die Dokumentation des Operators im Mozilla Developer Network für seine volle Nutzung und Bedeutung.
Tags und Links javascript node.js express