Movatterモバイル変換


[0]ホーム

URL:


  1. Web
  2. JavaScript
  3. Référence
  4. Expressions et opérateurs
  5. Accesseurs de propriétés

Cette page a été traduite à partir de l'anglais par la communauté.Vous pouvez contribuer en rejoignant la communauté francophone sur MDN Web Docs.

View in EnglishAlways switch to English

Accesseurs de propriétés

Baseline Widely available

Cette fonctionnalité est bien établie et fonctionne sur de nombreux appareils et versions de navigateurs. Elle est disponible sur tous les navigateurs depuis ⁨juillet 2015⁩.

Lesaccesseurs de propriété permettent de fournir un accès aux propriétés d'un objet en utilisant une notation avec un point ou une notation avec des crochets

Exemple interactif

const person1 = {};person1["firstname"] = "Mario";person1["lastname"] = "Rossi";console.log(person1.firstname);// Expected output: "Mario"const person2 = {  firstname: "John",  lastname: "Doe",};console.log(person2["lastname"]);// Expected output: "Doe"

Syntaxe

js
objet.propriété;objet["propriété"];

Description

Les objets peuvent être vus comme des tableaux associatifs (map, dictionnaires, table de hachage, annuaire, etc.). Lesclés (keys) de ce tableau sont les noms des propriétés de l'objet. Lorsqu'on parle d'objets, on fait généralement une distinction entre les propriétés et les méthodes. En réalité cette différence est plus dûe à une convention qu'à une réelle distinction. En effet, une méthode est simplement une propriété qu'on peut appeler (sa valeur fera souvent référence à une instance deFunction).

Il existe deux façons d'accéder aux propriétés d'un objet : la notation avec point et la notation avec crochets.

Notation avec point

js
obtenir = objet.propriété;objet.propriété = définir;

propriété doit être un identifiant JavaScript valide, c'est-à-dire une séquence de caractères alphanumériques, soulignés (« _ ») et signes dollar (« $ »), qui ne peut commencer par un nombre. Par exemple,objet.$1 est valide, maisobjet.1 ne l'est pas.

js
document.createElement("pre");

Ici, la méthodecreateElement est obtenue depuis l'objetdocument et est appelée.

Si on utilise une méthode pour un littéral numérique et que celui-ci ne possède pas de point décimal ni d'exposant lié à la notation scientifique, il faudra laisser un ou plusieurs blancs afin que l'appel soit bien interprété comme un appel de méthode plutôt que comme un séparateur décimal :

js
(77).toExponential();// ou(77).toExponential();// ou, mieux pour la lisibilité(77).toExponential();// ou encore(77.0).toExponential();// 77. correspond à 77.0 et là il n'y a aucun doute

Notation avec crochets

js
obtenir = objet[nom_de_propriété];objet[nom_de_propriété] = définir;

nom_de_propriété est une chaîne de caractères ou unsymbole. Elle n'a pas besoin d'être un identifiant valide ; elle peut avoir n'importe quelle valeur, par exemple"1foo","!bar!" ou même" " (une espace).

Exemple

js
document["createElement"]("pre");

Cette ligne fait exactement la même chose que l'exemple précédent.

Noms de propriétés

Les noms de propriétés doivent être des chaînes de caractères ou des symboles. Cela signifie que les autres types d'objet ne peuvent pas être utilisés comme clés d'un objet. Tout autre type d'objet, même un nombre, sera converti en une chaîne via sa méthodetoString.

Exemples

js
var objet = {};objet["1"] = "valeur";console.log(objet[1]);

Ceci affichera « valeur », étant donné que le nombre1 sera converti en une chaîne"1".

js
var toto = {propriété_unique : 1}, truc = {propriété_unique : 2}, objet = {};objet[toto] = 'valeur';console.log(objet[truc]);

Ce code affichera également « valeur », étant donné quetoto ettruc seront convertis en la même chaîne de caractères. Dans le cas du moteur JavaScriptSpiderMonkey, cette chaîne serait"['object Object']".

Liaison de méthodes

Une méthode n'est pas liée à l'objet dont elle est une méthode. En particulier,this n'est pas défini dans une méthode, c'est-à-dire quethis ne fait pas nécessairement référence à un objet contenant la méthode. En réalité,this est « passé » par l'appel de la fonction.

Pour plus d'informations, consultez la page surl'opérateurthis et les liaisons de méthodes.

Note concernanteval

Les nouveaux venus en JavaScript font souvent l'erreur d'utilisereval() alors que la notation avec crochets pourrait être utilisée. Par exemple, la syntaxe suivante est utilisée dans de nombreux scripts.

js
x = eval("document.formulaire." + controle + ".value");

eval est lente et insécurisée et devrait être évitée dès que possible. Il est préférable d'utiliser la notation avec crochets :

js
x = document.formulaire[controle].value;

Spécifications

Specification
ECMAScript® 2026 Language Specification
# sec-property-accessors

Compatibilité des navigateurs

Voir aussi

Help improve MDN

Learn how to contribute

Cette page a été modifiée le par lescontributeurs du MDN.


[8]ページ先頭

©2009-2025 Movatter.jp