---
description: 🚧 under construction
---

# variable redeclaration

[JS](..) ⟩ [variable]() ⟩ redeclaration

{% hint style="info" %}
🚧 ([redeclare](../grammar/declare/redeclare "mention"))
{% endhint %}

{% tabs %}
{% tab title="⭐️ 重點" %}
{% hint style="warning" %}
(:exclamation:[redeclare](../grammar/declare/redeclare "mention") ) JS is <mark style="color:green;">**lenient**</mark> with [var](declare/var "mention"), <mark style="color:red;">**strict**</mark> with [let](declare/let "mention").

* [redeclare](declare/var/redeclare "mention"), even in [strict-mode](../concept/env/js-engine/mode/strict-mode "mention"):exclamation:
* [no-redeclare](declare/let/no-redeclare "mention"), even in [sloppy-mode](../concept/env/js-engine/mode/sloppy-mode "mention"):exclamation:
{% endhint %}
{% endtab %}

{% tab title="🔴 主題" %}
* [var](redeclare/var "mention")
  * [redeclare](declare/var/redeclare "mention") (<mark style="color:yellow;">**even in strict mode**</mark>):exclamation:
  * [param-by-var](declare/var/param-by-var "mention") - <mark style="color:yellow;">**parameters**</mark> <mark style="color:green;">**can**</mark> be <mark style="color:yellow;">**shadowed**</mark> by "<mark style="color:yellow;">**var**</mark>":exclamation:
* [let](redeclare/let "mention")
  * [no-redeclare](declare/let/no-redeclare "mention") (<mark style="color:yellow;">**even in sloppy mode**</mark>):exclamation:
  * [param-by-var](declare/var/param-by-var "mention") - <mark style="color:yellow;">**parameters**</mark> <mark style="color:red;">**can't**</mark> be <mark style="color:yellow;">**shadowed**</mark> by "<mark style="color:yellow;">**let**</mark>":no\_entry:
{% endtab %}

{% tab title="👥 相關" %}
* [declare](declare "mention")
* [redeclare](../val/func/declare/redeclare "mention")
* [shadow](shadow "mention")
{% endtab %}
{% endtabs %}
