探索JavaScript:let、const和var的全面解析
发表时间: 2022-12-16 09:55
var是JavaScript在ES6之前使用的变量定义关键字。通过var声明的变量,会挂载在当前定义的函数执行上下文。若在最外层定则变量就挂载在全局执行上下文,即window对象下。而const和let则是ES6中提出的定义变量或常量关键字,其中const用于声明常量,let则是用于声明局部变量关键字。
var定义的变量可以修改,不强制要求初始化,未初始化则输出undefined。简单使用如下:
var a = 1; //此处声明的变量a为全局变量function foo(){ var a = 2;//此处声明的变量a为函数foo的局部变量 console.log(a);//2}foo();console.log(a);//1
let是ES6之后提出的用于声明局部变量。其作用域为代码块区域,let的使用示例如下:
let a = 1;console.log(a);//1console.log(b);//Uncaught ReferenceError: b is not definedlet b = 2;function foo(){ let a = 1; let a = 2;//Uncaught SyntaxError: Identifier 'a' has already been declared}
const是和let一样在ES6之后别加入的关键词,const被设计专门用于声明常量,示例如下:
const a = 1;console.log(a);//1a = 2;console.log(a);//Uncaught TypeError: Assignment to constant variable.