Maison > interface Web > js tutoriel > Un guide complet sur la conversion de type en JavaScript : coercition implicite ou explicite

Un guide complet sur la conversion de type en JavaScript : coercition implicite ou explicite

Barbara Streisand
Libérer: 2024-12-31 07:27:10
original
823 Les gens l'ont consulté

A Complete Guide to Type Conversion in JavaScript: Implicit vs Explicit Coercion

*### Conversion de type en JavaScript
*

La conversion de type en JavaScript fait référence au processus de conversion d'une valeur d'un type de données à un autre. JavaScript est un langage typé dynamiquement, ce qui signifie que les variables ne sont pas liées à un type de données spécifique et qu'elles peuvent être converties automatiquement ou explicitement entre différents types.

### Types de conversion de type

Il existe deux types de conversions de types en JavaScript :

1. **Conversion de type implicite (coercition de type)

  1. Conversion de type explicite**

### 1. **Conversion de type implicite (coercition de type)**

La conversion de type implicite, également connue sous le nom de coercition de type, se produit automatiquement par JavaScript lors de l'exécution d'opérations entre différents types de données. JavaScript convertit automatiquement un type en un autre en cas de besoin.

#### Exemples de conversion de type implicite :

  • Concaténation de chaînes Lorsque vous ajoutez un nombre à une chaîne, JavaScript convertit automatiquement le nombre en chaîne.
  let result = '5' + 1;
  console.log(result);  // Output: '51' (String)
Copier après la connexion
Copier après la connexion

-** Conversion booléenne **
Lorsqu'une valeur non booléenne est utilisée dans un contexte booléen, JavaScript la convertit en vrai ou faux.

  let isValid = 'hello' == true;  // Implicit coercion
  console.log(isValid);  // Output: true
Copier après la connexion
Copier après la connexion
  • ***Comparaisons d'égalité* ** Lors de la comparaison de différents types à l'aide de ==, JavaScript effectue une coercition de type pour que la comparaison fonctionne.
  let result = '5' == 5;
  console.log(result);  // Output: true (due to implicit coercion)
Copier après la connexion
Copier après la connexion

** 2. Conversion de type explicite**

La conversion de type explicite, également connue sous le nom de conversion de type, consiste à convertir manuellement un type en un autre à l'aide de méthodes ou de fonctions intégrées. JavaScript fournit plusieurs fonctions pour convertir entre les types.

Exemples de conversion de type explicite :

- **Conversion en chaîne **
Vous pouvez utiliser la fonction String() ou la méthode .toString() pour convertir une valeur en chaîne.

  let num = 123;
  let str = String(num);  // Using String()
  console.log(str);  // Output: '123'

  let bool = true;
  let strBool = bool.toString();  // Using .toString()
  console.log(strBool);  // Output: 'true'
Copier après la connexion
Copier après la connexion

- **Conversion en nombre **
Vous pouvez utiliser la fonction Number(), l'opérateur unaire ou parseInt()/parseFloat() pour convertir une valeur en nombre.

  let str = '123';
  let num = Number(str);
  console.log(num);  // Output: 123

  let bool = true;
  let numBool = +bool;  // Unary plus operator
  console.log(numBool);  // Output: 1

  let floatStr = '12.34';
  let floatNum = parseFloat(floatStr);
  console.log(floatNum);  // Output: 12.34
Copier après la connexion
Copier après la connexion

- **Conversion en booléen **
Vous pouvez convertir une valeur en booléen à l'aide de la fonction Boolean().

  let num = 0;
  let bool = Boolean(num);  // Converts to false
  console.log(bool);  // Output: false

  let str = 'hello';
  let boolStr = Boolean(str);  // Converts to true
  console.log(boolStr);  // Output: true
Copier après la connexion
Copier après la connexion

### 3. **Comportement de coercition de type détaillé**

Le comportement de coercition de JavaScript peut prêter à confusion, alors regardons comment différentes opérations convertissent les types.

  • Opérateur d'addition ( ) Si l'un des opérandes est une chaîne, JavaScript convertit l'autre opérande en chaîne et effectue la concaténation des chaînes.
  let result = '5' + 1;
  console.log(result);  // Output: '51' (String)
Copier après la connexion
Copier après la connexion
  • Opérateurs de soustraction (-), de multiplication (*) et de division (/) JavaScript essaie de convertir les deux opérandes en nombres avant d'effectuer l'opération.
  let isValid = 'hello' == true;  // Implicit coercion
  console.log(isValid);  // Output: true
Copier après la connexion
Copier après la connexion
  • Opérateurs d'égalité (==) et d'égalité stricte (===)
    • == vérifie l'égalité avec la coercition de type.
    • === vérifie l'égalité sans contrainte de type (égalité stricte).
  let result = '5' == 5;
  console.log(result);  // Output: true (due to implicit coercion)
Copier après la connexion
Copier après la connexion
  • Opérateurs logiques Opérateurs logiques comme &&, || et ! contraindre les opérandes à des valeurs booléennes.
  let num = 123;
  let str = String(num);  // Using String()
  console.log(str);  // Output: '123'

  let bool = true;
  let strBool = bool.toString();  // Using .toString()
  console.log(strBool);  // Output: 'true'
Copier après la connexion
Copier après la connexion

### 4. **Valeurs fausses et véridiques**

En JavaScript, certaines valeurs sont considérées comme fausses ou véridiques lorsqu'elles sont converties en booléen :

  • Valeurs fausses : false, 0, "" (chaîne vide), null, non défini, NaN.
  • Valeurs véridiques : toutes les valeurs qui ne sont pas fausses, y compris [], {}, 1, "bonjour", etc.

Exemple:

  let str = '123';
  let num = Number(str);
  console.log(num);  // Output: 123

  let bool = true;
  let numBool = +bool;  // Unary plus operator
  console.log(numBool);  // Output: 1

  let floatStr = '12.34';
  let floatNum = parseFloat(floatStr);
  console.log(floatNum);  // Output: 12.34
Copier après la connexion
Copier après la connexion

### 5. **Gestion des valeurs nulles et non définies**

  • Nul au numéro null se convertit en 0 lorsqu'il est contraint à un nombre.
  let num = 0;
  let bool = Boolean(num);  // Converts to false
  console.log(bool);  // Output: false

  let str = 'hello';
  let boolStr = Boolean(str);  // Converts to true
  console.log(boolStr);  // Output: true
Copier après la connexion
Copier après la connexion
  • Non défini au numéro undefined se convertit en NaN lorsqu'il est contraint à un nombre.
  let result = '5' + 1;
  console.log(result);  // Output: '51'
Copier après la connexion
  • Nul à booléen null est contraint à false dans un contexte booléen.
  let result = '5' - 1;
  console.log(result);  // Output: 4 (Number)

  let resultMul = '5' * 2;
  console.log(resultMul);  // Output: 10 (Number)
Copier après la connexion

### 6. **La méthode toString()**

Chaque objet JavaScript a accès à la méthode toString(), qui convertit l'objet en chaîne. Par exemple, lorsque vous appelez toString() sur un nombre, il renvoie une représentation sous forme de chaîne de ce nombre.

Exemple:

  let result = '5' == 5;
  console.log(result);  // Output: true (coercion happens)

  let strictResult = '5' === 5;
  console.log(strictResult);  // Output: false (no coercion)
Copier après la connexion

Bonjour, je m'appelle Abhay Singh Kathayat !
Je suis un développeur full-stack avec une expertise dans les technologies front-end et back-end. Je travaille avec une variété de langages et de frameworks de programmation pour créer des applications efficaces, évolutives et conviviales.
N'hésitez pas à me contacter à mon e-mail professionnel : kaashshorts28@gmail.com.

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:dev.to
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal