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
Patricia Arquetteoriginal
2025-01-04 08:35:34940parcourir

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'};

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'

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