Get to know MDN better
Esta página ha sido traducida del inglés por la comunidad. Aprende más y únete a la comunidad de MDN Web Docs.
This feature is well established and works across many devices and browser versions. It’s been available across browsers since julio de 2015.
La sintaxis set asocia la propiedad de un objeto a una función que será llamada cuando haya un intento de asignar valor a esa propiedad.
El nombre de la propiedad a asociar con la función dada.
valUn alias para la variable que contiene el valor a asignar a la propiedad.
expressionA partir de ECMAScript 2015, se puede también usar expresiones para nombres de propiedades computados para asociar a la función dada.
En JavaScript, un setter puede ser usado para ejecutar una función donde sea que una propiedad se intente cambiar. Los setters son regularmente usados en conjunto con getters para crear un tipo de pseudo-propiedad. No es posible tener simultáneamente un setter en una propiedad que ya tiene un valor.
Tenga en cuenta lo siguiente al trabajar con setters:
En el siguiente ejemplo definimos una pseudo-propiedad actual al objeto lenguaje. Cuando se le asigne un valor a actual, actualiza log con ese valor:
Note que actual no está definido y cualquier intento de accederlo devolverá undefined.
Si desea eliminar el setter, puede simplemente aplicar delete en él:
Para añadir un setter a un objeto existente, use Object.defineProperty()
Nota: Propiedades computadas son 'experimental technology', parte de la propuesta para ECMAScript 6, y no está soportado en todos los navegadores. Dará error de sintaxis en entornos no soportados.
| ECMAScript® 2027 Language Specification # sec-method-definitions |
Enable JavaScript to view this browser compatibility table.
This page was last modified on 24 jun 2025 by MDN contributors.
Your blueprint for a better internet.
Visit Mozilla Corporation’s not-for-profit parent, the Mozilla Foundation.
Portions of this content are ©1998–2026 by individual mozilla.org contributors. Content available under a Creative Commons license.