📜  js var vs const - Javascript (1)

📅  最后修改于: 2023-12-03 15:16:59.541000             🧑  作者: Mango

JavaScript中的变量声明:var vs const

在JavaScript中,有三种方式可以声明变量:varletconst。在这篇文章中,我们将重点介绍varconst之间的区别。

var与const的区别
var

var是在ES5中引入的关键字,用于声明变量。它的作用域是函数级别的,这意味着如果你在一个函数中声明一个变量,那么这个变量将只在该函数内部可见。

function foo() {
  var x = 10;
  console.log(x);
}
foo();
console.log(x); // Uncaught ReferenceError: x is not defined

在上面的例子中,变量xfoo()函数的作用域内被声明,因此它只能在这个函数内部访问。尝试在函数外部访问x会导致一个无法捕获的引用错误。

const

const是在ES6中引入的关键字,也用于声明变量。与var不同的是,const声明的变量的值是不可变的,也称为“常量”。

const PI = 3.14159265359;
PI = 3; // Uncaught TypeError: Assignment to constant variable.

从上面的例子中可以看出,如果您尝试更改PI的值,JavaScript将抛出TypeError

另外,与var不同,您必须在声明常量的同时初始化它。

const PI; // Uncaught SyntaxError: Missing initializer in const declaration
总结
  • var声明的变量的作用域是函数级别的。
  • const声明的变量需要初始化且其值是不可变的。

当您需要在整个脚本中共享变量时,请使用var;当您需要创建一个不可变量但又不想使用全局变量时,请使用const