const和var在JavaScript中可以有相同的名称吗?

时间:2016-10-15 03:15:49

标签: javascript

我遇到了类似这样的代码:

const foo = 1
var foo = foo
foo = 2

foo的价值是多少?它会改变,忽略还是抛出错误?在Node终端中,它忽略了第二行,即var foo

2 个答案:

答案 0 :(得分:2)

您将收到语法错误:

  

Uncaught SyntaxError:Identifier' foo'已经宣布

答案 1 :(得分:2)

实际上,constvar用于变量声明。

一些信息

通过使用var保留字声明变量:

var x;

完整的声明将是:

var x = 24;

在函数体内,需要关键字var来为此函数创建变量区域设置。 它不是全局空间所必需的,也不是函数的参数。 如果变量没有指定值,则其内容未定义

var y;
if(y == undefined)
{
   y = 0; 
}

ES2015,最新版本的javascript有 const 的概念。

使用const保留字(而不是var)声明常量,并在声明时分配,然后在以后修改它们当然是不可能的。

const x = 24;

const表示不会重新分配标识符。

let,是可以重新分配变量的信号,例如循环中的计数器或算法中的值交换。它还表示该变量仅在其定义的块中使用,并不总是包含整个函数。

var现在是您在JavaScript中定义变量时可用的最弱信号。变量可以重新分配,也可以不重新赋值,变量可以用于也可以不用于整个函数,或仅用于块或循环。

很抱歉详细信息。

回到原来的问题: 如果我们尝试在开发者控制台中执行语句(按键盘上的F12键),这将是好的和容易的

Answer for the Question

  

语法错误:const foo的重新声明

希望这有帮助。

相关问题