Maison > interface Web > Questions et réponses frontales > Pourquoi les chaînes sont-elles immuables en javascript ?

Pourquoi les chaînes sont-elles immuables en javascript ?

青灯夜游
Libérer: 2022-02-16 14:47:45
original
3448 Les gens l'ont consulté

En JavaScript, la valeur d'une chaîne est immuable, ce qui signifie qu'une fois qu'une chaîne est créée, elle ne peut pas être modifiée ; raison : la chaîne elle-même est un type de base encapsulé par le langage, et le type sous-jacent est toujours un objet. Le contenu de l'objet ne peut pas être modifié depuis sa création, la chaîne reste donc inchangée.

Pourquoi les chaînes sont-elles immuables en javascript ?

L'environnement d'exploitation de ce tutoriel : système Windows 7, JavaScript version 1.8.5, ordinateur Dell G3.

En JavaScript, la valeur d'une chaîne est immuable, ce qui signifie qu'une fois la chaîne créée, elle ne peut plus être modifiée.

Par exemple, le code suivant :

var myStr = "Bob";
myStr[0] = "J";
Copier après la connexion

ne changera pas la valeur de la variable myStr en "Job" car la variable myStr est immuable.

Notez que cela ne signifie pas que myStr ne peut jamais être modifié, mais seulement que les caractères individuels de la chaîne littérale ne peuvent pas être modifiés.

La seule façon de changer myStr est de lui réattribuer une valeur, comme celle-ci :

var myStr = "Bob";
myStr = "Job";
Copier après la connexion

Pourquoi les chaînes sont-elles immuables en js ?

En fait, la chaîne elle-même est un type de base encapsulé par le langage (sortie via le propre constructeur String du système new). La couche inférieure est toujours un objet, pas un simple type de données. Le contenu de cet objet ne peut pas être modifié depuis sa création, la chaîne reste donc inchangée. Des opérations telles que

+ généreront uniquement de nouveaux objets chaîne et les objets chaîne d'origine ne changeront pas. Si un objet chaîne n'est plus référencé, il sera recyclé par GC.

【Recommandations associées : Tutoriel d'apprentissage Javascript

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!

Étiquettes associées:
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