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

Warum JavaScript als lose typisierte Sprache gilt

WBOY
WBOYnach vorne
2023-09-05 10:09:03915Durchsuche

为什么 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"

Ausgabe

"45"
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>

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)
Beispiel

let myNumber = 1245;
let myString = String(myNumber);

Ausgabe

Der obige Code liefert die folgende Ausgabe -

now myNumber contains "1245"
Die Syntax der Funktion

toString() lautet wie folgt -

variableName.toString(base)
Beispiel

let myNumber = 1245;
let myString = toString(myNumber);

Ausgabe

Der obige Code liefert die folgende Ausgabe -

now myNumber contains "1245"

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>

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)
Beispiel

let myString = "567";
let myNumber = Number(myString);

Ausgabe

Der obige Code liefert die folgende Ausgabe -

now myNumber contain 567(Number)

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>

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>

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!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen