Heim > Web-Frontend > js-Tutorial > Warum JavaScript als lose typisierte Sprache gilt

Warum JavaScript als lose typisierte Sprache gilt

WBOY
Freigeben: 2023-09-05 10:09:03
nach vorne
941 Leute haben es durchsucht

为什么 JavaScript 被认为是松散类型语言

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
  • Wert in Zahl umwandeln
Implizite Konvertierungen

– 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"
Nach dem Login kopieren

Ausgabe

"45"
Nach dem Login kopieren
In diesem Fall stellt der +-Operator die Zeichenfolgenverkettung dar.

Aber „5“ – „3“ ergibt Ausgabe 2 durch die implizite Konvertierung.

Beispiel 1

Das folgende Skript erklärt, wie JavaScript implizite Typkonvertierungen durchführt.

<!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>
Nach dem Login kopieren

Wert-zu-String-Konvertierung

Sie können einen Wert in JavaScript mit der Funktion

toString()

oder string() in einen String konvertieren. Die Syntax der Funktion

String() lautet wie folgt -

String(value)
Nach dem Login kopieren
Beispiel

let myNumber = 1245;
let myString = String(myNumber);
Nach dem Login kopieren

Ausgabe

Der obige Code liefert die folgende Ausgabe -

now myNumber contains "1245"
Nach dem Login kopieren
Nach dem Login kopieren
Die Syntax der Funktion

toString() lautet wie folgt -

variableName.toString(base)
Nach dem Login kopieren
Beispiel

let myNumber = 1245;
let myString = toString(myNumber);
Nach dem Login kopieren

Ausgabe

Der obige Code liefert die folgende Ausgabe -

now myNumber contains "1245"
Nach dem Login kopieren
Nach dem Login kopieren

Beispiel 2

Zahlen, boolesche Werte und Datumsangaben werden mithilfe des folgenden Codes in Zeichenfolgen umgewandelt.

<!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>
Nach dem Login kopieren

Wert in Zahl ändern

Sie können die Methode

Number()

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)
Nach dem Login kopieren
Beispiel

let myString = "567";
let myNumber = Number(myString);
Nach dem Login kopieren

Ausgabe

Der obige Code liefert die folgende Ausgabe -

now myNumber contain 567(Number)
Nach dem Login kopieren

Beispiel 3

Verwenden Sie den folgenden Code, um numerischen Text, Datumsangaben und boolesche Werte in Zahlen umzuwandeln.

<!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>
Nach dem Login kopieren

Beispiel 4

Wenn die Zeichenfolge keine Zahl ist, wird sie in NaN konvertiert, während eine leere oder leere Zeichenfolge in NaN konvertiert wird auf 0.

<!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>
Nach dem Login kopieren

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!

Quelle:tutorialspoint.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage