shallowReadonly() Proxy superficial somente leitura

Última atualização: 2026-10-22

shallowReadonly() Proxy superficial somente leitura

shallowReadonly() deixa somente leitura apenas as propriedades do primeiro nível; objetos aninhados continuam modificáveis.

GrupoReatividade: Avançado
TipoAPI
EscopoNo Componente
Versão do Vue3.0+
Suporte a SSRSim

📝 Sintaxe

const cfg = shallowReadonly({ theme: 'dark', nested: {} })
cfg.theme = 'light'     // ❌ bloqueado
cfg.nested.x = 1        // ✅ permitido (aninhado não é somente leitura)

⚙️ Argumentos

targetObjeto

Retorno:Um proxy superficial somente leitura

▶ Exemplo

Edite o código abaixo e veja o resultado ao vivo:

Saída:

The top-level write is blocked with a warning; the nested write goes through.

💡 Pontos-chave

⚠️ Aviso Somente leitura superficial não equivale a segurança: dados aninhados ainda podem ser alterados; não use para proteção de dados.
ℹ️ Nota Poucos cenários precisam dele: constantes no primeiro nível + referências aninhadas mutáveis (como contêineres de cache).
Mais casos em breve.

📚 Tutoriais Relacionados

❓ FAQ

P Qual a diferença de readonly?
R Trava apenas um nível: objetos aninhados leem e escrevem normalmente; readonly trava recursivamente todos os níveis.
P Cenários de uso comuns?
R Raro; geralmente aparece em APIs internas sensíveis a desempenho que precisam de defesa superficial.
P Dá para detectar?
R isReadonly retorna true, e isProxy também é true.
Web-Tutorial.com

Equipe Técnica Web-Tutorial

Uma plataforma de tutoriais mantida por diversos desenvolvedores. Cada tutorial é escrito e revisado por profissionais da área correspondente. Trabalhamos para manter nosso conteúdo preciso e confiável — se encontrar algum problema, avise-nos.

100%