Maison > interface Web > js tutoriel > Pourquoi « » concatène-t-il des chaînes mais « - » soustrait-il des nombres en JavaScript ?

Pourquoi « » concatène-t-il des chaînes mais « - » soustrait-il des nombres en JavaScript ?

Patricia Arquette
Libérer: 2024-11-24 00:05:14
original
450 Les gens l'ont consulté

Why Does ' ' Concatenate Strings But '-' Subtracts Numbers in JavaScript?

Comportement divergent des opérateurs ' ' et '-' avec des chaînes et des nombres en JavaScript

JavaScript présente un comportement déroutant lors de l'exécution d'opérations mathématiques entre des chaînes et des chiffres. Plus précisément, le comportement des opérateurs ' ' et '-' varie en fonction des types d'opérandes impliqués.

Prenons deux exemples pour illustrer cette observation :

  1. Concaténation de chaînes ( ):

    console.log("1" + 1);
    Copier après la connexion

    Sortie : "11"

  2. Soustraction de nombres (-):

    console.log("1" - 1);
    Copier après la connexion

    Sortie : 0

Raisonnement :

  1. Concaténation de chaînes : L'opérateur ' ' effectue une concaténation de chaînes lorsque l'un des les opérandes sont une chaîne. Dans le premier exemple, "1" est une chaîne, donc JavaScript convertit le numérique 1 en chaîne et les concatène, ce qui donne "11".
  2. Soustraction de nombres : D'un autre côté , l'opérateur '-' ne peut pas effectuer de soustraction sur des chaînes. Au lieu de cela, JavaScript tente de convertir l'opérande chaîne (« 1 » dans le deuxième exemple) en nombre. Cette conversion réussit car « 1 » peut être valablement interprété comme une valeur numérique. Cependant, la soustraction résultante de 1 à 1 donne 0.

Ce comportement découle du fait que JavaScript adhère au paradigme du « typage lâche », dans lequel la coercition de type est automatiquement effectuée pour rendre les opérations compatibles. Cependant, dans le cas de l'opérateur '-' et des chaînes, la coercition de type ne peut pas être appliquée, conduisant au comportement observé.

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:php.cn
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