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/ru/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/ru/web/javascript/reference/errors/invalid_const_assignment')
-rw-r--r-- | files/ru/web/javascript/reference/errors/invalid_const_assignment/index.html | 87 |
1 files changed, 87 insertions, 0 deletions
diff --git a/files/ru/web/javascript/reference/errors/invalid_const_assignment/index.html b/files/ru/web/javascript/reference/errors/invalid_const_assignment/index.html new file mode 100644 index 0000000000..eaf8b0b185 --- /dev/null +++ b/files/ru/web/javascript/reference/errors/invalid_const_assignment/index.html @@ -0,0 +1,87 @@ +--- +title: 'TypeError: invalid assignment to const "x"(недопустимое назначение const "x")' +slug: Web/JavaScript/Reference/Errors/Invalid_const_assignment +translation_of: Web/JavaScript/Reference/Errors/Invalid_const_assignment +--- +<div>{{jsSidebar("Errors")}}</div> + +<h2 id="Сообщение">Сообщение</h2> + +<pre class="syntaxbox">TypeError: недопустимое назначение const "x" (Firefox) +TypeError: присвоение переменной константы. (Хромированный) +TypeError: присвоение const (Edge) +TypeError: повторное объявление const 'x' (IE) +</pre> + +<h2 id="Тип_ошибки">Тип ошибки</h2> + +<p>{{jsxref("TypeError")}}</p> + +<h2 id="Что_пошло_не_так">Что пошло не так?</h2> + +<p>Константа-это значение, которое не может быть изменено программой в обычном исполнении. Он не может быть изменен путем повторного назначения и не может быть повторно объявлен. В JavaScript, константы объявляются с помощью ключевого слова const.</p> + +<h2 id="Примеры">Примеры</h2> + +<h3 id="Недопустимое_повторное_объявление">Недопустимое повторное объявление</h3> + +<p>Assigning a value to the same constant name in the same block-scope will throw.</p> + +<pre class="brush: js example-bad">const COLUMNS = 80; + +// ... + +COLUMNS = 120; // TypeError: invalid assignment to const `COLUMNS'</pre> + +<h3 id="Решение_проблемы">Решение проблемы</h3> + +<p>Есть несколько вариантов, чтобы исправить эту ошибку. Проверьте, что должно было быть достигнуто с рассматриваемой константой.</p> + +<h4 id="Переназавите">Переназавите</h4> + +<p>Если вы хотели объявить другую константу, выберите другое имя и переименовать. Это имя константы уже используется в этой области.</p> + +<pre class="brush: js example-good">const COLUMNS = 80; +const WIDE_COLUMNS = 120;</pre> + +<h4 id="const_let_или_var"><code>const</code>, <code>let</code> или <code>var</code>?</h4> + +<p>Не используйте const, если вы не хотели объявлять константу. Возможно, вы хотели объявить переменную в области блока с let или глобальную переменную с var.</p> + +<pre class="brush: js example-good">let columns = 80; + +// ... + +let columns = 120; +</pre> + +<h4 id="Обзор">Обзор</h4> + +<p>Проверить, если вы находитесь в правильной области. Должна ли эта константа появиться в этой области или она должна была появиться в функции, например?</p> + +<pre class="brush: js example-good">const COLUMNS = 80; + +function setupBigScreenEnvironment() { + const COLUMNS = 120; +}</pre> + +<h3 id="const_и_неизменность"><code>const</code> и неизменность</h3> + +<p>Объявление const создает ссылку только для чтения на значение. Это не означает, что значение, которое он содержит, является неизменяемым, просто идентификатор переменной не может быть переназначен. Например, если содержимое является объектом, это означает, что сам объект все еще может быть изменен. Это означает, что нельзя изменить значение, хранящееся в переменной:</p> + +<pre class="brush: js example-bad">const obj = {foo: 'bar'}; +obj = {foo: 'baz'}; // TypeError: invalid assignment to const `obj' +</pre> + +<p>Но можно изменить свойства в переменной:</p> + +<pre class="brush: js example-good">obj.foo = 'baz'; +obj; // Object { foo: "baz" }</pre> + +<h2 id="Смотрите_также">Смотрите также</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> |