Angenommen, ich habe eine Zeichenfolge, deren Wert bereits eine Zahl ist, z. var str = "1234"
Jetzt möchte ich es in Nummer konvertieren.Warum + str ist besser als str * 1 in JS, um eine Zeichenfolge in eine Zahl zu konvertieren?
ich zwei Tricks im Internet weit so gesehen haben,
- Verwenden Sie die einstellige
+
:var num = +str
- Verwenden Sie den mehrfach Operator
*
:var num = str*1
Ich möchte wissen, was man ist im Allgemeinen besser.
Wie ich aus dem Kommentar der akzeptierten Antwort hier sah: Converting Json Results to a Date, scheint es wie *1
ist am besten zu vermeiden. Ist das wahr und was ist der Grund dafür?
Für integer, parseInt() wäre besser –
unären und durch Definition soll einen Wert in eine Zahl umzuwandeln, so dass es mehr semantisch korrekt ist um 1 als multipliziert wird, ein anderer führt Operand. @EricSo - parseInt() ist nur dann besser, wenn Sie speziell alle nicht-numerischen Daten oder Dezimalstellen in der Zeichenkette ignorieren wollen - ansonsten ist es * schlechter * als das unäre Plus *, weil es dieses Zeug ignoriert. – nnnnnn