Das klingt wirklich nach einer einfachen Frage, aber ich hatte kein Glück bei der Suche. was macht das +din
function addMonths(d, n, keepTime) {
if (+d) {
meint?
+…bedeutet in JavaScript
Das klingt wirklich nach einer einfachen Frage, aber ich hatte kein Glück bei der Suche. was macht das +din
function addMonths(d, n, keepTime) {
if (+d) {
meint?
+…bedeutet in JavaScript
Antworten:
Der +Operator gibt die numerische Darstellung des Objekts zurück. In Ihrem speziellen Fall scheint es also eine Prädikation dafür zu sein, ob deine Zahl ungleich Null ist oder nicht .
.parseInt()?
Wie in anderen Antworten erläutert, konvertiert es die Variable in eine Zahl. Besonders nützlich, wenn d entweder eine Zahl oder eine Zeichenfolge sein kann Funktion das ergibt eine Zahl.
Beispiel (mit der addMonthsFunktion in der Frage):
addMonths(34,1,true);
addMonths("34",1,true);
dann +dwird das in allen Fällen zu einer Zahl ausgewertet. So müssen Sie nicht nach dem Typ suchen und unterschiedliche Codepfade verwenden, je nachdem, ob des sich um eine Zahl, eine Funktion oder eine Zeichenfolge handelt, die in eine Zahl konvertiert werden kann.
+dwird nicht zu einer Zahl mit dem ersten Aufrufbeispiel von addMonths
+function(){...}wird eine NaNnicht bewertete Funktion erzeugen