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

Pourquoi '1' 1 donne-t-il '11' alors que '1' - 1 donne 0 en JavaScript ?

DDD
Libérer: 2024-11-15 09:29:02
original
587 Les gens l'ont consulté

Why Does

Gestion unique en JavaScript des opérateurs de chaîne et de nombres

En JavaScript, le comportement des opérateurs arithmétiques comme et - peut varier en fonction des types de données impliqué. Cela peut être particulièrement déroutant lorsque vous travaillez avec des chaînes et des nombres.

Différence entre la concaténation de chaînes et la soustraction numérique

Considérez le code suivant :

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

Étonnamment, la première ligne affiche "11" tandis que la deuxième ligne affiche 0. Ce comportement apparemment contradictoire peut s'expliquer par la compréhension de la gestion de ces opérateurs par JavaScript.

Concaténation de chaînes (avec)

Lorsque l'opérateur est utilisé avec des chaînes, il effectue une concaténation de chaînes. Dans notre exemple, « 1 » est une chaîne, donc JavaScript convertit également le 1 numérique en chaîne. Cela entraîne la concaténation de "1" et "1", produisant "11".

Soustraction numérique (avec -)

Contrairement à la concaténation de chaînes, la soustraction numérique est applicable uniquement aux nombres. "1" est une chaîne dans notre exemple, donc JavaScript tente de la convertir en nombre avant d'effectuer la soustraction. Cependant, les chaînes ne sont pas reconnues comme des nombres valides en JavaScript. Par conséquent, "1" est traité comme 0 lors de la soustraction, ce qui donne "1" - 1 = 0.

Conclusion

La gestion par JavaScript des opérateurs de chaîne et de nombres peut être parfois contre-intuitif. Il est essentiel de comprendre les règles régissant ces opérateurs, notamment lorsque vous travaillez avec des types de données mixtes, pour éviter un comportement inattendu dans votre code.

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