| [ Web Proxy ] |
| Viewing: https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Operators/Property_accessors | [Back] [Original] |
Get to know MDN better
Cette page a t traduite partir de l'anglais par la communaut. Vous pouvez contribuer en rejoignant la communaut francophone sur MDN Web Docs.
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.
Les accesseurs de proprit permettent de fournir un accs aux proprits d'un objet en utilisant une notation avec un point ou une notation avec des crochets
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"
objet.proprit;
objet["proprit"];
Les objets peuvent tre vus comme des tableaux associatifs (map, dictionnaires, table de hachage, annuaire, etc.). Les cls (keys) de ce tableau sont les noms des proprits de l'objet. Lorsqu'on parle d'objets, on fait gnralement une distinction entre les proprits et les mthodes. En ralit cette diffrence est plus de une convention qu' une relle distinction. En effet, une mthode est simplement une proprit qu'on peut appeler (sa valeur fera souvent rfrence une instance de Function).
Il existe deux faons d'accder aux proprits d'un objet : la notation avec point et la notation avec crochets.
obtenir = objet.proprit;
objet.proprit = dfinir;
proprit doit tre un identifiant JavaScript valide, c'est--dire une squence de caractres alphanumriques, souligns ( _ ) et signes dollar ( $ ), qui ne peut commencer par un nombre. Par exemple, objet.$1 est valide, mais objet.1 ne l'est pas.
document.createElement("pre");
Ici, la mthode createElement est obtenue depuis l'objet document et est appele.
Si on utilise une mthode pour un littral numrique et que celui-ci ne possde pas de point dcimal ni d'exposant li la notation scientifique, il faudra laisser un ou plusieurs blancs afin que l'appel soit bien interprt comme un appel de mthode plutt que comme un sparateur dcimal :
(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
obtenir = objet[nom_de_proprit];
objet[nom_de_proprit] = dfinir;
nom_de_proprit est une chane de caractres ou un symbole. Elle n'a pas besoin d'tre un identifiant valide ; elle peut avoir n'importe quelle valeur, par exemple "1foo", "!bar!" ou mme " " (une espace).
document["createElement"]("pre");
Cette ligne fait exactement la mme chose que l'exemple prcdent.
Les noms de proprits doivent tre des chanes de caractres ou des symboles. Cela signifie que les autres types d'objet ne peuvent pas tre utiliss comme cls d'un objet. Tout autre type d'objet, mme un nombre, sera converti en une chane via sa mthode toString.
var objet = {};
objet["1"] = "valeur";
console.log(objet[1]);
Ceci affichera valeur , tant donn que le nombre 1 sera converti en une chane "1".
var toto = {proprit_unique : 1}, truc = {proprit_unique : 2}, objet = {};
objet[toto] = 'valeur';
console.log(objet[truc]);
Ce code affichera galement valeur , tant donn que toto et truc seront convertis en la mme chane de caractres. Dans le cas du moteur JavaScript SpiderMonkey, cette chane serait "['object Object']".
Une mthode n'est pas lie l'objet dont elle est une mthode. En particulier, this n'est pas dfini dans une mthode, c'est--dire que this ne fait pas ncessairement rfrence un objet contenant la mthode. En ralit, this est pass par l'appel de la fonction.
Pour plus d'informations, consultez la page sur l'oprateur this et les liaisons de mthodes.
evalLes nouveaux venus en JavaScript font souvent l'erreur d'utiliser eval() alors que la notation avec crochets pourrait tre utilise. Par exemple, la syntaxe suivante est utilise dans de nombreux scripts.
x = eval("document.formulaire." + controle + ".value");
eval est lente et inscurise et devrait tre vite ds que possible. Il est prfrable d'utiliser la notation avec crochets :
x = document.formulaire[controle].value;
| Spcification |
|---|
| ECMAScript 2027 LanguageSpecification # sec-property-accessors |
Cette page a t modifie le 22 mai 2026 par les contributeurices du MDN.
Certaines parties de ce contenu sont protges par le droit d'auteur 19982026 des contributeurs individuels de mozilla.org. Contenu disponible sous une licence Creative Commons.
| Web Proxy Viewer | New URL | Original Page |