Heim > Artikel > Web-Frontend > Warum JavaScript als lose typisierte Sprache gilt
Da JavaScript eine „lose typisierte“ Sprache ist, müssen Sie Datentypen nicht richtig vorhersagen Dies wird in einer Variablen gespeichert. Hängt von den Informationen ab, die Sie der Variablen bereitstellen (z. B. dieses „ oder „“ für einen Zeichenfolgenwert), JavaScript gibt ihn automatisch ein. Der Typ der Variablen, z. B. int, float, boolean oder String müssen in vielen anderen Sprachen, einschließlich Java, deklariert werden. Das hat sowohl gute als auch schlechte Auswirkungen. Obwohl das Typsystem in JavaScript viele zulässt Kostenlos, es fehlt die Leistung eines hochtypisierten Systems, das Sie jedes Mal anschreit, wenn Sie versuchen, ein int hinzuzufügen zu einem Objekt hinzufügen, was Ihnen das stundenlange Debuggen von Typfehlern erspart.
JavaScript-Typen sind temporär. Die Funktion muss keine ganzen Zahlen als Parameter akzeptieren, und das ist auch nicht der Fall Müssen Sie klarstellen, dass eine Zeichenfolge eine Zeichenfolge ist? JavaScript ist mittlerweile sehr vielseitig.
Im Austausch für mehr Sicherheit und Vertrauen in die Codebasis muss man einiges aufgeben Die Flexibilität, die lose typisierte Sprachen mit sich bringen.
Obwohl Operatoren normalerweise Werte gemäß JavaScript in geeignete Typen konvertieren Lose gekoppeltes Typsystem, in einigen Fällen müssen wir Typkonvertierungen durchführen direkt.
Obwohl es in JavaScript viele Möglichkeiten gibt, Daten zwischen verschiedenen Typen zu konvertieren, gibt es zwei Am häufigsten erledigte Dinge -
Wert in String umwandeln
– Es gibt viele JavaScript-Operatoren und -Funktionen, die dies automatisch tun können Konvertieren Sie den Wert in den entsprechenden Typ, z. B. die Funktion „alert()“, die jeden Wert akzeptiert und konvertiert zu einer Zeichenfolge. Allerdings können einige Operatoren, wie zum Beispiel der „+“-Operator, Probleme verursachen. Einfaches Beispiel
Eintreten
"4" + "5"
"45"
In diesem Fall stellt der +-Operator die Zeichenfolgenverkettung dar.
Aber „5“ – „3“ ergibt Ausgabe 2 durch die implizite Konvertierung.
Beispiel 1
<!DOCTYPE html> <html> <title>Why is JavaScript considered a loosely-typed language - TutorialsPoint</title> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> </head> <body style="text-align:center"> <script> document.write('("5" - "3") = ' + ("5" - "3") + "<br>"); document.write('("5" - 3) = ' + ("5" - 3) + "<br>"); document.write('("5" * "2") = ' + ("5" * "2") + "<br>"); document.write('("5" % "2") = ' + ("5" % "2") + "<br>"); document.write('("5" + null) = ' + ("5" + null) + "<br>"); </script> </body> </html>
Wert-zu-String-Konvertierung
oder string() in einen String konvertieren. Die Syntax der Funktion
String() lautet wie folgt -
String(value)
Beispiel
let myNumber = 1245; let myString = String(myNumber);
now myNumber contains "1245"Die Syntax der Funktion toString() lautet wie folgt -
variableName.toString(base)
Beispiel
let myNumber = 1245; let myString = toString(myNumber);
now myNumber contains "1245"
Beispiel 2
<!DOCTYPE html> <html> <title>Why is JavaScript considered a loosely-typed language - TutorialsPoint</title> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> </head> <body style="text-align:center"> <script> // The variables myNumber and myDay have been // given the values number and date, respectively. let myNumber = 155; let myDay = new Date('2022-10-31T06:30:00'); // Number to string conversion document.write(" String(myNumber) = " + String(myNumber) + "<br>"); // number to string conversion document.write(" String(myNumber + 15) = " + String(myNumber + 15) + "<br>"); document.write(" String( 20 + 20) = " + String(20 + 20) + "<br>"); // from boolean value to string conversion document.write(" String(false) = " + String(false) + "<br>"); // From Date to string conversion document.write(" String(myDay) = " + String(myDay) + "<br>"); </script> </body> </html>
Wert in Zahl ändern
von JavaScript verwenden, um einen Wert in eine Zahl umzuwandeln. es hat die Fähigkeit Konvertieren Sie jedes numerische Literal und jeden booleschen Wert in eine Zahl. Bei der Verarbeitung von Zeichenfolgen Wenn sie keine Zahl sind, werden sie zu NaN (keine Zahl).
Grammatik
Number(valueToConvert)
Beispiel
let myString = "567"; let myNumber = Number(myString);
now myNumber contain 567(Number)
Beispiel 3
<!DOCTYPE html> <html> <title>Why is JavaScript considered a loosely-typed language - TutorialsPoint</title> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> </head> <body style="text-align:center"> <script> // Variables myNumber and myDay, respectively, // have been given the values number and date. let myNumber = "567"; let myDay = new Date('2022-10-31T06:30:00'); // string to number conversion document.write(" Number(myNumber) = " + Number(myNumber) + "<br>"); //A boolean value is converted to a number. document.write(" Number(false) = " + Number(false) + "<br>"); document.write(" Number(true) = " + Number(true) + "<br>"); // Change from date to number document.write(" Number(myDay) = " + Number(myDay) + "<br>"); </script> </body> </html>
Beispiel 4
<!DOCTYPE html> <html> <title>Why is JavaScript considered a loosely-typed language - TutorialsPoint</title> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> </head> <body style="text-align:center"> <script> // Empty string assigned let emptyStr = ""; // White space assigned let whiteSpc = " "; // Non-number string assigned let nonStr = "Welcome to Tutorialspoint!"; // Printing converted values of number document.write(" Number(emptyStr) = " + Number(emptyStr) + "<br>"); document.write(" Number(whiteSpc) = " + Number(whiteSpc) + "<br>"); document.write(" Number(nonStr) = " + Number(nonStr) + "<br>"); </script> </body> </html>
Das obige ist der detaillierte Inhalt vonWarum JavaScript als lose typisierte Sprache gilt. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!