一、var、let、const的相同点
var、let、const三者都可以声明变量
var a = 10;
let b = 20;
const c = 30;
console.log(a, b, c);
二、var、let、const的不同
1.区别一:var 存在变量提升 而 let 与 const 不存在变量提升
console.log(str);
var str = 'hello';
// 相当于
var str;
console.log(str);
str = 'hello';
而下面不可以,会报错
console.log(str);
let str = 'hello';
console.log(str1);
let str1 = 'hi~~';
2.区别二:var定义的变量可以声明多次
var a = 1;
var a = 2;
console.log(a);
报错:
let a = 1;
let a = 2;
console.log(a);
const b = 1;
const b = 2;
console.log(b);
3.区别三:var、let声明的变量可以再次赋值,而const声明的变量不能再次赋值
即const是常量
var a = 1;
a = 2;
console.log(a);
//报错
let b = 1;
b = 2;
console.log(b);
4.区别四:作用域:var声明的变量没有自身的作用域,而ler、const声明的变量有自身的作用域
-
if (true) { var num1 = 1; } console.log(num1); if (true) { let num2 = 2; } console.log(num2); if (true) { const num3 = 3; } console.log(num3);
三:总结:
var,let,const:
var:可以声明变量, 存在变量提升 ,变量可以声明多次,变量可以再次赋值,没有自身的作用域
let:可以声明变量,不存在变量提升 ,不可以声明多次,变量可以再次赋值,有自身的作用域
const:常量let 和 var 都是 JavaScript 中的声明变量的关键字,推荐使用 let 声明变量!!!在较旧的JavaScript,使用关键字 var 来声明变量 ,而不是 let
var 现在开发中一般不再使用它,只是我们可能再老版程序中看到它