diff options
| author | Peter Bengtsson <mail@peterbe.com> | 2020-12-08 14:42:52 -0500 |
|---|---|---|
| committer | Peter Bengtsson <mail@peterbe.com> | 2020-12-08 14:42:52 -0500 |
| commit | 074785cea106179cb3305637055ab0a009ca74f2 (patch) | |
| tree | e6ae371cccd642aa2b67f39752a2cdf1fd4eb040 /files/pt-br/web/javascript/reference/errors/invalid_const_assignment | |
| parent | da78a9e329e272dedb2400b79a3bdeebff387d47 (diff) | |
| download | translated-content-074785cea106179cb3305637055ab0a009ca74f2.tar.gz translated-content-074785cea106179cb3305637055ab0a009ca74f2.tar.bz2 translated-content-074785cea106179cb3305637055ab0a009ca74f2.zip | |
initial commit
Diffstat (limited to 'files/pt-br/web/javascript/reference/errors/invalid_const_assignment')
| -rw-r--r-- | files/pt-br/web/javascript/reference/errors/invalid_const_assignment/index.html | 91 |
1 files changed, 91 insertions, 0 deletions
diff --git a/files/pt-br/web/javascript/reference/errors/invalid_const_assignment/index.html b/files/pt-br/web/javascript/reference/errors/invalid_const_assignment/index.html new file mode 100644 index 0000000000..cc5a4733a4 --- /dev/null +++ b/files/pt-br/web/javascript/reference/errors/invalid_const_assignment/index.html @@ -0,0 +1,91 @@ +--- +title: 'TypeError: atribuição inválida para const "x"' +slug: Web/JavaScript/Reference/Errors/Invalid_const_assignment +tags: + - Erro + - JavaScript + - TypeError +translation_of: Web/JavaScript/Reference/Errors/Invalid_const_assignment +--- +<div>{{jsSidebar("Errors")}}</div> + +<h2 id="Mensagem">Mensagem</h2> + +<pre class="syntaxbox">TypeError: invalid assignment to const "x" (Firefox) +TypeError: Assignment to constant variable. (Chrome) +TypeError: Assignment to const (Edge) +TypeError: Redeclaration of const 'x' (IE) +</pre> + +<h2 id="Tipo_de_erro">Tipo de erro</h2> + +<p>{{jsxref("TypeError")}}</p> + +<h2 id="O_que_deu_errado">O que deu errado?</h2> + +<p>Uma constante é um valor que não pode ser alterado pelo programa durante a execução normal. Ele não pode mudar através de reatribuição e não pode ser redeclarado. Em JavaScript, as constantes são declaradas usando a palavra-chave <code><a href="/en-US/docs/Web/JavaScript/Reference/Statements/const">const</a></code>.</p> + +<h2 id="Exemplos">Exemplos</h2> + +<h3 id="Redeclaração_inválida">Redeclaração inválida</h3> + +<p>Atribuir um valor ao mesmo nome de constante no mesmo escopo de bloco lançará o erro.</p> + +<pre class="brush: js example-bad">const COLUNAS = 80; + +// ... + +COLUNAS = 120; // TypeError: invalid assignment to const `COLUNAS'</pre> + +<h3 id="Corrigindo_o_erro">Corrigindo o erro</h3> + +<p>Existem várias opções para corrigir esse erro. Verifique o que se pretendia alcançar com a constante em questão.</p> + +<h4 id="Renomear">Renomear</h4> + +<p>Se você quis declarar outra constante, escolha outro nome e renomeie. Esse nome de constante já está sendo usado nesse escopo.</p> + +<pre class="brush: js example-good">const COLUNAS = 80; +const COLUNAS_LARGAS = 120;</pre> + +<h4 id="const_let_ou_var"><code>const</code>, <code>let</code> ou <code>var</code>?</h4> + +<p>Não use const se você não quis declarar uma constante. Talvez você quisesse declarar uma variável com escopo de bloco com <code><a href="/en-US/docs/Web/JavaScript/Reference/Statements/let">let</a></code> ou uma variável global com <code><a href="/en-US/docs/Web/JavaScript/Reference/Statements/var">var</a></code>.</p> + +<pre class="brush: js example-good">let colunas = 80; + +// ... + +let colunas = 120; +</pre> + +<h4 id="Escopo">Escopo</h4> + +<p>Verifique se você está no escopo correto. Essa constante deve aparecer nesse escopo ou deveria aparecer em uma função, por exemplo?</p> + +<pre class="brush: js example-good">const COLUNAS = 80; + +function configurarAmbienteTelaGrande() { + const COLUNAS = 120; +}</pre> + +<h3 id="const_e_imutabilidade"><code>const</code> e imutabilidade</h3> + +<p>A declaração <code>const</code> cria uma referência somente leitura para um valor. Isso <strong>não significa</strong> que o valor que ela contém é imutável, apenas que o identificador da variável não pode ser reatribuído. Por exemplo, caso o conteúdo seja um objeto, isso significa que o objeto em si ainda pode ser alterado. Isso significa que você não pode alterar o valor armazenado em uma variável:</p> + +<pre class="brush: js example-bad">const obj = {foo: 'bar'}; +obj = {foo: 'baz'}; // TypeError: invalid assignment to const `obj' +</pre> + +<p>Mas você pode alterar as propriedades em uma variável:</p> + +<pre class="brush: js example-good">obj.foo = 'baz'; +obj; // Object { foo: "baz" }</pre> + +<h2 id="Veja_também">Veja também</h2> + +<ul> + <li><code><a href="/en-US/docs/Web/JavaScript/Reference/Statements/const">const</a></code></li> + <li><code><a href="/en-US/docs/Web/JavaScript/Reference/Statements/let">let</a></code></li> + <li><code><a href="/en-US/docs/Web/JavaScript/Reference/Statements/var">var</a></code></li> +</ul> |
