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.
La syntaxe set permet de lier une propriété d'un objet à une fonction qui sera appelée à chaque tentative de modification de cette propriété.
Le nom de la propriété à lier à la fonction.
valUn alias pour la variable qui contient la valeur qu'on souhaiterait affecter à prop.
expressionAvec ECMAScript 2015, il est également possible d'utiliser des expressions pour utiliser un nom de propriété calculé à lier à la fonction.
En JavaScript, un mutateur (ou setter en anglais) peut être utiisé afin d'exécuter une fonction à chaque fois qu'on souhaite modifier la valeur d'une propriété donnée. La plupart du temps, les mutateurs sont utilisés avec les accesseurs (getters) afin de créer une pseudo-propriété. Il n'est pas possible d'avoir à la fois un mutateur et une valeur donnée pour une même propriété.
On notera que set :
On peut retirer un mutateur d'un objet grâce à l'opérateur delete.
Dans l'exemple qui suit, on définit une pseudo-propriété courant pour un objet o qui, lorsqu'elle recevra une valeur, mettra à jour la propriété log avec la valeur reçue :
On notera que courant n'est pas défini. Toute tentative pour y accéder renverra undefined.
Si on souhaite retirer un mutateur, on peut simplement utiliser l'opérateur delete :
On peut également ajouter un mutateur sur un objet d'ores et déjà créé. Pour cela, on utilisera la méthode Object.defineProperty().
| ECMAScript® 2027 Language Specification # sec-method-definitions |
Activez JavaScript pour afficher ce tableau de compatibilité des navigateurs.
Cette page a été modifiée le 2 déc. 2025 par les contributeur·ice·s du MDN.
Votre modèle pour un internet meilleur.
Visitez la société mère à but non lucratif de Mozilla Corporation, la Fondation Mozilla.
Certaines parties de ce contenu sont protégées par le droit d'auteur ©1998—2026 des contributeurs individuels de mozilla.org. Contenu disponible sous une licence Creative Commons.