Maison > Article > interface Web > Pourquoi JavaScript est considéré comme un langage peu typé
Étant donné que JavaScript est un langage faiblement typé, vous n'avez pas besoin de prédire correctement les types de données Celui-ci sera enregistré dans une variable. En fonction des informations que vous fournissez à la variable (par exemple ce « » ou "" pour une valeur de chaîne), JavaScript la saisira automatiquement. Le type de la variable, tel que int, float, boolean ou String doivent être déclarés dans de nombreux autres langages, dont Java.
Cela a à la fois des bons et des mauvais effets. Bien que le système de types en JavaScript permette de nombreux Gratuit, il lui manque la puissance d'un système hautement typé qui vous criera dessus à chaque fois que vous tenterez d'ajouter un int à un objet, vous évitant ainsi de passer des heures à déboguer des erreurs de type.
Les types JavaScript sont temporaires. La fonction n'a pas besoin d'accepter des entiers comme paramètres, ni Besoin de préciser qu'une chaîne est une chaîne ? JavaScript a désormais beaucoup de polyvalence.
En échange de plus de sécurité et de confiance dans la base de code, vous devez renoncer à certains La flexibilité offerte par les langages peu typés.
Bien que les opérateurs convertissent généralement les valeurs en types appropriés selon JavaScript Système de types faiblement couplé, dans certains cas, nous devons effectuer des conversions de types direct.
Bien qu'il existe de nombreuses façons de convertir des données entre différents types en JavaScript, il en existe deux Choses les plus courantes -
Conversions implicites - Il existe de nombreux opérateurs et fonctions JavaScript qui peuvent automatiquement Convertissez la valeur dans le type approprié, tel que la fonction alert(), qui accepte n'importe quelle valeur et convertit à une chaîne. Cependant, certains opérateurs, comme l'opérateur « + », peuvent poser des problèmes.
Entrez
"4" + "5"
Sortie
"45"
Dans ce cas, l'opérateur + représente la concaténation de chaînes.
Mais "5" - "3" donne la sortie 2 en utilisant une conversion implicite.
Le script suivant explique comment JavaScript effectue des conversions de type implicites.
<!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>
Vous pouvez convertir une valeur en JavaScript en chaîne à l'aide de la fonction toString() ou string().
La syntaxe de la fonctionString() est la suivante -
String(value)
let myNumber = 1245; let myString = String(myNumber);
Le code ci-dessus donnera le résultat suivant -
now myNumber contains "1245"La syntaxe de la fonction
toString() est la suivante -
variableName.toString(base)
let myNumber = 1245; let myString = toString(myNumber);
Le code ci-dessus donnera le résultat suivant -
now myNumber contains "1245"
Les nombres, les booléens et les dates seront tous convertis en chaînes à l'aide du code ci-dessous.
<!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>
Vous pouvez utiliser la méthode Number() de JavaScript pour convertir une valeur en nombre. il a la capacité Convertissez n’importe quelle valeur numérique littérale et booléenne en nombre. Lors du traitement des chaînes non-numéro, cela les transformera en NaN (pas un nombre).
Grammaire
Number(valueToConvert)
let myString = "567"; let myNumber = Number(myString);
Le code ci-dessus donnera le résultat suivant -
now myNumber contain 567(Number)
Utilisez le code ci-dessous pour convertir le texte numérique, les dates et les valeurs booléennes en nombres.
<!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>
Si la chaîne n'est pas un nombre, elle est convertie en NaN, tandis qu'une chaîne vide ou vide est convertie en NaN à 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>
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!