Get to know MDN better
Esta página foi traduzida do inglês pela comunidade. Saiba mais e junte-se à comunidade MDN Web Docs.
This feature is well established and works across many devices and browser versions. It’s been available across browsers since julho de 2015.
A sintaxe set liga a propriedade da função para ser chamada quando existe uma tentativa de definir valor para essa propriedade.
Nome da propriedade ligada a função.
valUm apelido para variável que será atribuidada a prop.
expressionIniciando com ECMAScript 6, você pode usar também expressões para computar o nome da propriedade a ser definida na função.
Em JavaScript, um setter pode ser usado para executar uma função sempre que se tenta mudar uma propriedade específica. Setters são geralmente usados em conjunto com getters, para criar um tipo de pseudo-propriedade. No entanto é impossível ter-se um setter para uma propriedade que contenha um valor real.
Observe os seguintes itens ao trabalhar com a sintaxe set:
Um setter pode ser deletado usando o operator delete.
Vai definir um pseudo-property current para este objeto, quando atribuido um valor, vai mudar log com o valor passado:
Observe que current não está definido e qualquer tentativa de acesso irá resultar em undefined.
Se você deseja remover o setter, poderá usar somente o delete:
Para adicionar um setter para um Object existentem mais tarde, use Object.defineProperty().
Nota: Atenção: Propriedades computadas são uma tecnologia experimental, parte da proposta ECMAScript 6, e não é amplamente suportada por todos os browsers ainda. Ele vai retornar um syntax error en ambientes que não tem suporte.
| ECMAScript® 2027 Language Specification # sec-method-definitions |
Enable JavaScript to view this browser compatibility table.
This page was last modified on 12 de out. de 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.