[ Web Proxy ]
URL:
Viewing: https://developer.mozilla.org/pt-BR/docs/Web/JavaScript/Reference/Errors/Cant_assign_to_property [Back]  [Original]

TypeError: can't assign to property "x" on "y": not an object - JavaScript | MDN

Esta pgina foi traduzida do ingls pela comunidade. Saiba mais e junte-se comunidade MDN Web Docs.

View in English Always switch to English

TypeError: can't assign to property "x" on "y": not an object

A exceo do modo strict do Javascript "can't assign to property" ocorre quando feita a tentativa de criar uma propriedade em um valor primitivo como um symbol, uma string, um number ou um boolean. Valores primitivos no podem ter nenhuma propriedade.

In this article

Mensagem

js
TypeError: can't assign to property "x" on {y}: not an object (Firefox)
TypeError: Cannot create property 'x' on {y} (Chrome)

Tipo de Erro

TypeError.

O que deu errado?

No Strict_mode, um TypeError gerado quando feita a tentativa de criar uma propriedade em um valor primitivo como um symbol, uma string, um number ou um boolean. Valores primitivos no podem ter nenhuma propriedade.

O problema pode ser que um valor inesperado est em um lugar inesperado, ou que uma variante de objeto de uma String ou um Number esperado.

Exemplos

Casos invlidos

js
"use strict";

var foo = "minha string";
// A linha a seguir no faz nada se no estiver em modo strict.
foo.bar = {}; // TypeError: can't assign to property "bar" on "my string": not an object

Corrigindo o problema

Corrija o cdigo para evitar que um primitivo seja usado em tais lugares, ou corrija o problema criando o objeto homlogo Object.

js
"use strict";

var foo = new String("minha string");
foo.bar = {};

Veja tambm


Web Proxy Viewer  |  New URL  |  Original Page