Maison >interface Web >js tutoriel >Les clés d'objet entre guillemets et sans guillemets en JavaScript font-elles une différence ?

Les clés d'objet entre guillemets et sans guillemets en JavaScript font-elles une différence ?

Susan Sarandon
Susan Sarandonoriginal
2024-12-11 02:20:09529parcourir

Do Quoted and Unquoted Object Keys in JavaScript Make a Difference?

Clés d'objet avec et sans guillemets : une différence d'apparence

Lorsque vous travaillez avec des objets JavaScript, vous pouvez rencontrer des clés d'objet avec ou sans guillemets . C'est une question courante de savoir s'il y a une différence entre :

obj = {'foo': 'bar'}; // With quotes

et

obj = {foo: 'bar'}; // Without quotes

La réponse : aucune différence significative

Dans la plupart des cas , il n'y a pas de différence significative entre les clés avec et sans guillemets. JavaScript autorise les clés sans guillemets tant qu'il s'agit d'identifiants JavaScript valides.

Exceptions : utilisation de caractères spéciaux dans les clés

Cependant, si vous devez utiliser des caractères spéciaux dans vos clés , comme les tirets (-), vous devez utiliser des guillemets.

JSON Exigence

Il est important de noter que le format d'échange de données JSON nécessite des guillemets doubles autour des clés. Bien que cela n'affecte pas la fonctionnalité des objets JavaScript, c'est à prendre en compte si vous envisagez d'échanger des données avec un système qui utilise JSON.

Exemple

Considérons le code suivant :

var obj1 = {'foo': 'bar', 'baz-1': 'qux'};
var obj2 = {foo: 'bar', 'baz-1': 'qux'};

obj1 et obj2 créeront des objets avec les mêmes clés et valeurs. Cependant, si vous essayez de convertir obj1 en chaîne JSON, vous rencontrerez une erreur due à la clé non citée avec un tiret.

En conclusion, bien qu'il n'y ait généralement aucune différence fonctionnelle entre les clés avec et sans guillemets, il est recommandé d'utiliser des guillemets pour les clés contenant des caractères spéciaux ou lors de l'échange de données JSON.

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