Wozu dient ein Pluszeichen vor einer Variablen?

Lesezeit: 3 Minuten

Wozu dient ein Pluszeichen vor einer Variablen
gut

Was bedeutet die +d in

function addMonths(d, n, keepTime) { 
    if (+d) {

bedeuten?

  • mögliches Duplikat von Was macht das Pluszeichen in ‘return +new Date’

    – nawfal

    10. Januar 2014 um 12:36 Uhr

  • Gleiches Problem, aber der Titel der anderen Seite beschreibt nicht den allgemeinen Fall wie hier

    – Geotheorie

    30. August 2015 um 10:12 Uhr

  • mögliches Duplikat von What does +… bedeuten in JavaScript

    – Bergi

    8. August 2017 um 17:02 Uhr

1646252106 361 Wozu dient ein Pluszeichen vor einer Variablen
Paul Sonier

Die + Operator gibt die numerische Darstellung des Objekts zurück. In Ihrem speziellen Fall scheint es also das ob auf ob oder nicht vorherzusagen d ist eine Zahl ungleich Null.

Referenz Hier. Und wie in den Kommentaren erwähnt, Hier.

  • Dokumente: developer.mozilla.org/en/JavaScript/Reference/Operators/…

    – Felix Klinge

    13. Juli 2011 um 17:27 Uhr


  • Arbeitslink: developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/…

    – Ilker Katze

    4. Januar 2018 um 22:17 Uhr


  • Wie unterscheidet es sich von .parseInt() ?

    – Daniel W.

    10. April 2019 um 13:33 Uhr

  • @DanielW. 1. parseInt wird eine ganze Zahl zurückgeben, also wenn Sie dies tun parseInt("5.51") das Ergebnis wäre 5 während +"5.51" werde dir geben 5.51. 2. parseInt Wille analysieren die Zahl aus einer Zeichenfolge und stoppt beim ersten nicht numerischen Zeichen, während das unäre Plus die gesamte Eingabe umwandelt. Damit parseInt("5 bananas") //5 während +"5 bananas" //NaN

    – VLAZ

    27. August 2019 um 10:11 Uhr

  • @acarlstein vom MDN-Link in der Antwort: “Obwohl unäre Negation (-) auch Nicht-Zahlen konvertieren kann, Unäres Plus ist die schnellste und bevorzugte Methode, etwas in eine Zahl umzuwandelnweil es keine anderen Operationen mit der Nummer durchführt.” (nur für eine “offizielle” Antwort)

    – EIN

    4. November 2019 um 0:01 Uhr

Wozu dient ein Pluszeichen vor einer Variablen
Jsowa

Operator + ist ein unärer Operator, der den Wert in eine Zahl umwandelt. Nachfolgend finden Sie eine Tabelle mit entsprechenden Ergebnissen der Verwendung dieses Operators für verschiedene Werte.

+----------------------------+-----------+
| Value                      | + (Value) |
+----------------------------+-----------+
| 1                          | 1         |
| '-1'                       | -1        |
| '3.14'                     | 3.14      |
| '3'                        | 3         |
| '0xAA'                     | 170       |
| true                       | 1         |
| false                      | 0         |
| null                       | 0         |
| 'Infinity'                 | Infinity  |
| 'infinity'                 | NaN       |
| '10a'                      | NaN       |
| undefined                  | NaN       |
| ['Apple']                  | NaN       |
| function(val){ return val }| NaN       |
+----------------------------+-----------+

Operator + gibt einen Wert für Objekte zurück, die Methoden implementiert haben valueOf.

let something = {
    valueOf: function () {
        return 25;
    }
};

console.log(+something);

  • Wichtige Sache: 1. und andere Zeichenfolgen, die mit enden . wird durch das Entfernen des Trailings behoben.. Ich bin darauf gestoßen, als ich einen Fehler in einem Echtzeit-Eingabehandler behoben habe, der die Eingabe von Dezimalzahlen ermöglichen sollte, aber aus diesem Grund nicht wie erwartet funktionierte + Bediener, der den Nachlauf wegschneidet ..

    – JustAMartin

    11. November 2020 um 10:28 Uhr

  • Denken Sie daran, zu verwenden + Bediener mit Vorsicht in if Aussagen als NaN weder gleich “wahr” noch false: if (+function(){ }) console.log('success') – Dies wird nicht ausgeführt

    – Kutalien

    20. Mai 2021 um 11:08 Uhr


Es ist ein unärer “+”-Operator, der einen numerischen Ausdruck ergibt. Es wäre dasselbe wie d*1Ich glaube.

  • Bitte fügen Sie keine Antwort hinzu, wenn Sie sich nicht ganz sicher sind, was passiert. Ich war verwirrt von dem, was ich glaubte, bitte ändern Sie es, wenn Sie sich sicher sind.

    – Nemesius

    18. November 2021 um 4:58 Uhr

  • @Nemesius, guter Punkt. Der Teil “Ich glaube” in dieser Antwort gilt immer noch, obwohl 10 Jahre vergangen sind, seit ich darauf geantwortet habe. Ich bin mir nicht ganz sicher, ob ich mir alle möglichen Fälle vorstellen kann, in denen die beiden JavaScript-“Hacks” auf die gleiche Weise funktionieren. Was, wenn 'string'*1 gibt etwas anderes zurück als +'string'? Also, es ist ungefähr das gleiche – glaube ich 🙂

    – Naivisten

    24. November 2021 um 19:33 Uhr


Wozu dient ein Pluszeichen vor einer Variablen
RubenLaguna

Wie in anderen Antworten erläutert, wandelt es die Variable in eine Zahl um. Besonders nützlich, wenn d kann entweder eine Zahl oder eine Zeichenfolge sein, die zu einer Zahl ausgewertet wird.

Beispiel (unter Verwendung der addMonths Funktion in der Frage):

addMonths(34,1,true);
addMonths("34",1,true);

dann ist die +d wird in allen Fällen zu einer Zahl ausgewertet. Dadurch wird die Notwendigkeit vermieden, den Typ zu überprüfen und abhängig davon, ob unterschiedliche Codepfade genommen werden müssen d ist eine Zahl, eine Funktion oder ein String, der in eine Zahl umgewandelt werden kann.

915740cookie-checkWozu dient ein Pluszeichen vor einer Variablen?

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy