A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://developer.mozilla.org/pt-BR/docs/Web/JavaScript/Reference/Errors/Cant_assign_to_property below:

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

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

A exceção 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 nâo podem ter nenhuma propriedade.

Mensagem
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 não 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 inválidos
"use strict";

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

Corrija o código para evitar que um primitivo seja usado em tais lugares, ou corrija o problema criando o objeto homólogo Object.

"use strict";

var foo = new String("minha string");
foo.bar = {};
Veja também

RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4