Maison  >  Article  >  interface Web  >  Comprendre la conversion de type de données en JavaScript

Comprendre la conversion de type de données en JavaScript

青灯夜游
青灯夜游avant
2020-10-19 17:50:152063parcourir

Comprendre la conversion de type de données en JavaScript

En JavaScript, les types de données sont utilisés pour classer un type spécifique de données, déterminant les valeurs qui peuvent être attribuées à ce type et les opérations qui peuvent y être effectuées.

Bien que JavaScript convertisse automatiquement de nombreuses valeurs en raison de la coercition de type, il est souvent préférable de convertir manuellement les valeurs entre les types afin d'obtenir les résultats souhaités.

Ce didacticiel vous guidera dans la conversion des types de données de base de JavaScript, notamment les nombres, les chaînes et les valeurs booléennes.

Conversions implicites

En tant que langage de programmation, JavaScript a une grande tolérance aux valeurs inattendues. Par conséquent, JavaScript tentera de convertir les valeurs inattendues au lieu de les rejeter purement et simplement. Cette conversion implicite est appelée coercition de type.

Certaines méthodes convertissent automatiquement les valeurs afin de les utiliser. La méthode alert() accepte une chaîne comme paramètre, mais elle convertira automatiquement les autres types en chaîne. Par conséquent, nous pouvons transmettre une valeur numérique à la méthode :

alert(8.5);

Si nous exécutons la ligne de code ci-dessus, le navigateur renverra une boîte de dialogue d'avertissement contextuelle affichant la valeur 8,5, mais elle sera convertie en chaîne .

Lorsque vous travaillez avec des chaînes qui peuvent être évaluées comme des nombres via des opérateurs mathématiques, vous constaterez que JavaScript est capable de gérer ces valeurs en convertissant implicitement la chaîne en nombre, comme le montre l'exemple ci-dessous.

// Subtraction
"15" - "10";

Sortie : 5

// Modulo
"15" % "10";

Sortie : 5

Cependant, tous les opérateurs ne fonctionnent pas comme prévu. Il y a des problèmes évidents avec l'opérateur +, car il peut représenter une addition ou une concaténation de chaînes.

// When working with strings, + stands for concatenation
"2" + "3";

Sortie : "23"

Puisque l'opérateur + est polyvalent, les valeurs de chaîne 2 et 3 sont concaténées dans la valeur de chaîne 23 bien qu'il s'agisse de chaînes numériques, au lieu de en s'additionnant pour devenir le chiffre 5.

Parce que des ambiguïtés peuvent exister et conduire parfois à des résultats inattendus, il est généralement préférable de convertir explicitement autant de types de données que possible dans votre code. Cela aidera à gérer les entrées des utilisateurs et à gérer les erreurs.

Convertir une valeur en chaîne

Une valeur peut être convertie explicitement en chaîne en appelant String() ou N.ToString().

À l'aide de la fonction String(), convertissons la valeur booléenne en chaîne en passant la valeur true au paramètre de String().

String(true);

Quand nous ferons cela, la chaîne littérale "true" sera renvoyée.

Sortie : "true"

Alternativement, nous pouvons transmettre un nombre à la fonction.

String(49);

renverra la chaîne littérale du nombre.

Sortie : "49"

Utilisons la fonction String() avec une variable. Nous attribuerons une valeur numérique à la variable odyssey, puis utiliserons l'opérateur typeof pour vérifier le type.

let odyssey = 2001;
console.log(typeof odyssey);

Sortie : nombre

A ce moment, la variable odyssée se voit attribuer la valeur de 2001, et nous avons confirmé qu'il s'agit d'un nombre.

Maintenant, réaffectons odyssey à son équivalent de chaîne, puis utilisons typeof pour confirmer que nous avons réussi à convertir la valeur de la variable d'un nombre en chaîne.

odyssey = String(odyssey); // "2001"
console.log(typeof odyssey);

Sortie : string

Dans l'exemple ci-dessus, nous avons confirmé qu'odyssey est réaffecté à une valeur de chaîne après la conversion du type de données.

Nous pouvons utiliser n.toString() de la même manière. On peut remplacer n par la variable :

let blows = 400;
blows.toString();

La variable coup sera renvoyée sous forme de chaîne.

Sortie : "400"

Alternativement, nous pouvons mettre la valeur entre parenthèses au lieu de la variable n.toString() :

(1776).toString(); // returns "1776"
(false).toString(); // returns "false"
(100 + 200).toString(); // returns "300"

Pass Using String() ou n.toString(), nous sommes en mesure de convertir explicitement une valeur de type de données booléenne ou numérique en valeur String pour garantir que le code se comporte comme prévu.

Convertir la valeur en nombre

Lors de la conversion d'une valeur en type de données numérique, nous utiliserons la méthode number(). Tout d’abord, nous allons convertir une chaîne de texte numérique en nombre, mais nous pouvons également convertir des valeurs booléennes.

Nous pouvons passer une chaîne numérique à la méthode number() :

Number("1984");

La chaîne sera convertie en nombre et ne sera plus mise entre guillemets .

Sortie : 1984

On peut également attribuer une chaîne à une variable puis la convertir.

let dalmatians = "101";
Number(dalmatians);

Sortie : 101

La chaîne littérale "101" est convertie en nombre 101 via ses variables.

Les chaînes vides ou vides seront converties en 0.

Number(" "); // returns 0
Number(""); // returns 0

Notez que les chaînes non numériques seront converties en NaN, ce qui signifie non numérique. Cela inclut les nombres séparés par des espaces.

Number("twelve"); // returns NaN
Number("20,000"); // returns NaN
Number("2 3"); // returns NaN
Number("11-11-11"); // returns NaN

Pour le type de données booléen, la valeur de false est 0 et la valeur de true est 1. Le rôle de la méthode

Number(false); // returns 0
Number(true); // returns 1

est de convertir les types de données non numériques en nombres.

Convertir une valeur en valeur booléenne

Pour convertir un nombre ou une chaîne en valeur booléenne, vous pouvez utiliser la méthode Boolean(). Ceci est utile pour déterminer si l'utilisateur a saisi des données dans un champ de texte, par exemple.

Toute valeur interprétée comme nulle, comme le nombre 0, la chaîne vide ou la valeur non définie, NaN ou null, est convertie en faux.

Boolean(0); // returns false
Boolean(""); // returns false
Boolean(undefined); // returns false
Boolean(NaN); // returns false
Boolean(null); // returns false

Les autres valeurs seront converties en vrai, y compris les chaînes littérales constituées d'espaces.

Boolean(2000); // returns true
Boolean(" "); // returns true
Boolean("Maniacs"); // returns true

Notez que "0" en tant que chaîne littérale sera converti en vrai puisqu'il s'agit d'une valeur de chaîne non vide :

Boolean("0");   // returns true

将数字和字符串转换为布尔值可以允许我们在二进制术语中计算数据,并且可以用于程序中的控制流。

相关免费学习推荐:js视频教程

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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer