Maison > interface Web > js tutoriel > le corps du texte

Pourquoi JavaScript est considéré comme un langage peu typé

WBOY
Libérer: 2023-09-05 10:09:03
avant
935 Les gens l'ont consulté

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

É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 -

  • Convertir la valeur en chaîne
  • Convertir la valeur en nombre

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.

Exemple de base

Entrez

"4" + "5"
Copier après la connexion

Sortie

"45"
Copier après la connexion

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.

Exemple 1

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>
Copier après la connexion

Conversion de valeur en chaîne

Vous pouvez convertir une valeur en JavaScript en chaîne à l'aide de la fonction toString() ou string().

La syntaxe de la fonction

String() est la suivante -

String(value)
Copier après la connexion

Exemple

let myNumber = 1245;
let myString = String(myNumber);
Copier après la connexion

Sortie

Le code ci-dessus donnera le résultat suivant -

now myNumber contains "1245"
Copier après la connexion
Copier après la connexion
La syntaxe de la fonction

toString() est la suivante -

variableName.toString(base)
Copier après la connexion

Exemple

let myNumber = 1245;
let myString = toString(myNumber);
Copier après la connexion

Sortie

Le code ci-dessus donnera le résultat suivant -

now myNumber contains "1245"
Copier après la connexion
Copier après la connexion

Exemple 2

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>
Copier après la connexion

Changer la valeur en nombre

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)
Copier après la connexion

Exemple

let myString = "567";
let myNumber = Number(myString);
Copier après la connexion

Sortie

Le code ci-dessus donnera le résultat suivant -

now myNumber contain 567(Number)
Copier après la connexion

Exemple 3

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>
Copier après la connexion

Exemple 4

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>
Copier après la connexion

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!

source:tutorialspoint.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal