Nicolás und Brian Januar geben richtig, aber wenn Sie neugierig sind, wie es funktioniert, ist +new Date();
entspricht (new Date()).valueOf();
, weil der unary +
operator den Wert von seinen Operandenausdruck erhält und ihn dann ToNumber
konvertiert.
Sie könnten eine valueOf
Methode für jedes Objekt hinzufügen und den unären Operator + verwenden, um eine numerische Darstellung des Objekts zurückzukehren, z.B .:
var productX = {
valueOf : function() {
return 500; // some "meaningful" number
}
};
var cost = +productX; // 500
+1, gute Erklärung. –
Da 'valueOf()' eine Zahl zurückgibt, ist der unary + -Operator im obigen Beispiel grundsätzlich nicht notwendig. Ich denke, es wäre sinnvoller, wenn valueOf() "500" zurückgeben würde. –
@Darrel, sehen Sie sich andere Code Beispiel als ich bin? Ich sehe keine Änderungen an diesem Beitrag, daher scheint Ihr Kommentar seltsam und irrelevant zu sein, aber fast so, als hätte der Beitrag nach dem Kommentar bearbeitet werden können. – Breton