2017-08-21 3 views
1

JavaScript Ausdruck Erklärung

console.log("1" - - "1");

Warum wird der Code mir die folloing Ausgang geben: 2

+0

, denn wenn Sie subtrahieren javascript Ihre Strings in Zahlen für Sie umwandelt. –

+0

Wie haben Sie das Ergebnis erwartet? – Teemu

+0

String to Number Typ Zwang. Vielleicht werden Klammern ein wenig Licht "(1 - (-1))" –

Antwort

0

Dies sind nur zwei Strings, die als Zahlen und Subtraktionen dargestellt werden. Im Wesentlichen:

1 - -1

Oder 2.

console.log(1 - - 1); 
 
console.log("1" - - "1");

Referenz Auto-type conversion in JavaScript

0

diese Zeichenfolge entspricht

1 - (-1) 

da Sie Javascript für die Zeichenfolge in Zahlen konvertiert Sie versuchen, das Code-Snippet

auszuführen

console.log(- "1"); 
 
console.log(1 - "1"); 
 
console.log(1 - - "1"); 
 
console.log("1" - - "1");

0

Nun, wenn Sie subtrahieren -1 von 1 erhalten Sie 2, einfache mathematische, und das ist, was JavaScript auch der Fall ist.

JavaScript konvertiert die Strings, die Sie ihm geben, in Zahlen und führt dann die Berechnung aus.

console.log(1 - - 1); 
 
console.log(1 - - 2); 
 
console.log(1 - - 3); 
 
console.log(1 - - 155);

0

Eine andere Erklärung neben den oben diejenigen ist, dass JS ‚Typumwandlung gezwungen‘ wurde, und Ihr Ausdruck versucht, im Wesentlichen eine Zeichenfolge aus einer anderen Zeichenfolge zu subtrahieren.

Versuchen Sie eine Methode, die die Zeichenfolgen in Zahlen konvertiert, so dass Sie mehr Kontrolle über die Typkonvertierung haben und die Ausgabe mehr in Einklang mit dem steht, was Sie erwarten.

Verwandte Themen