Maison >interface Web >js tutoriel >Pourquoi JavaScript traite-t-il « 1 » 1 comme une chaîne et « 1 » - 1 comme un nombre ?

Pourquoi JavaScript traite-t-il « 1 » 1 comme une chaîne et « 1 » - 1 comme un nombre ?

DDD
DDDoriginal
2024-11-15 17:19:03780parcourir

Why Does JavaScript Treat

Disparité de JavaScript dans la gestion et - Opérateurs avec des chaînes et des nombres

Lorsque vous travaillez avec JavaScript, un comportement particulier peut survenir lors de l'utilisation de et - opérateurs sur un mélange de chaînes et de nombres. Examinons cette question pour démêler la logique sous-jacente.

Question :

Pourquoi JavaScript traite-t-il "1" 1 comme une chaîne et "1" - 1 comme une numéro?

Discussion :

Considérons les exemples suivants :

console.log("1" + 1); // Outputs "11"
console.log("1" - 1); // Outputs 0

La première ligne concatène la chaîne "1" avec le chiffre 1, ce qui donne "11". Cela se produit car il est couramment utilisé pour la concaténation de chaînes. JavaScript convertit automatiquement le nombre en chaîne pour faciliter cette action.

Cependant, dans la deuxième ligne, JavaScript ne peut pas soustraire une chaîne. Pour résoudre ce problème, il convertit la chaîne « 1 » en nombre, ce qui donne 1 - 1, ce qui équivaut à 0.

Essentiellement, le comportement de JavaScript dépend de la nature de l'opération effectuée :

  • Concaténation ( ): Si un opérande est une chaîne, tous les opérandes sont convertis en chaînes et concaténés.
  • Soustraction (- ): Les chaînes ne peuvent pas être soustraites, donc tout opérande de chaîne est d'abord converti en nombre.

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