Maison > interface Web > js tutoriel > Clés d'objet entre guillemets et non entre guillemets en JavaScript : quelle est la différence sémantique ?

Clés d'objet entre guillemets et non entre guillemets en JavaScript : quelle est la différence sémantique ?

Patricia Arquette
Libérer: 2025-01-04 08:35:34
original
932 Les gens l'ont consulté

Quoted vs. Unquoted Object Keys in JavaScript: What's the Semantic Difference?

Citations dans les clés d'objet : une différence de sémantique ?

En JavaScript, les propriétés d'objet peuvent être définies à l'aide de clés avec ou sans guillemets. Bien que cela puisse sembler une différence mineure, cela introduit un changement subtil dans le comportement d'accès à la propriété.

Propriétés avec ou sans devis

  • Avec guillemets : Lorsque la clé est placée entre guillemets (simples ou doubles), elle devient une chaîne. Cela signifie que l'accès aux propriétés avec la notation par points (par exemple, obj.foo) et la notation entre crochets (par exemple, obj["foo"]) se comportera de la même manière.
  • Sans guillemets : Si la clé n'est pas mis entre guillemets, il devient un identifiant. Cela signifie que l'accès aux propriétés avec la notation par points ne fonctionne que pour les identifiants JavaScript valides. Si la clé contient des caractères qui ne sont pas autorisés dans les identifiants (par exemple, "-", "&", "%"), la notation entre crochets doit être utilisée.

Exemple

Considérons l'exemple suivant :

obj1 = {'foo': 'bar'};
obj2 = {foo: 'bar'};
Copier après la connexion

Dans ce cas, obj1 et obj2 ont la même valeur-clé paire, mais la propriété est accessible différemment :

console.log(obj1.foo); // 'bar'
console.log(obj2.foo); // ReferenceError: foo is not defined
console.log(obj2['foo']); // 'bar'
Copier après la connexion

Comme vous pouvez le voir, obj2 n'est pas accessible en utilisant la notation par points car la clé "foo" n'est pas un identifiant JavaScript valide. Au lieu de cela, la notation entre crochets doit être utilisée.

Remarque :

Bien qu'il n'y ait pas de différence significative de fonctionnalité entre l'utilisation ou non de guillemets, le format d'échange de données JSON nécessite des guillemets doubles. autour des clés de propriété. Si vous envisagez d'échanger des données au format JSON, il est recommandé de toujours utiliser des guillemets autour des clés d'objet.

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