【JavaScript】区分var、let、const

var:最常使用的变量定义方法,可为全局变量或局部变量,如果使用不当会照成变量污染 (ES5规范)。

var text;
if(1){
    var num = 10;
}
console.log(num);  //能正常输出  10
console.log(text); //输出undefined


let:块级变量,let定义的变量只能在定义该变量的{ }范围内使用(ES6规范)。

let text;
if(1){
    let num = 10;
}
console.log(num);  //导致报错,num is not defined
console.log(text); //输出undefined


const:定义后必须初始化赋值,且赋值后无法再被重新赋值。

(但部分情况下所指向的内容可以被改变,例如定义的值为数组与对象,并通过某些函数或方法进行更改)

const num;   //导致报错,Missing initializer in const declaration
const text = '翻滚的胖子';
console.log(text);    //正常输出  翻滚的胖子
text = '翻滚的瘦子';    //导致报错,ssignment to constant variable.

所指向内容被改变的例子:

const name = {a:'翻滚的胖子', b:'瘦子'};
const title = {b:'胖子', c:'翻滚'};
Object.assign(name, title);
console.log(name);       //输出,{a: "翻滚的胖子", b: "胖子", c: "翻滚"}

name['a'] = '666';       //导致报错,Identifier 'name' has already been declared



三种不同的变量定义方式,可根据不同的使用场景进行使用。

猿教程
请先登录后发表评论
  • 最新评论
  • 总共0条评论