vue03: let var const

1. 作用域不同

let 局限于代码块; var 整个函数

if(true){
    var str = 1
    let str1 = 2
    console.log(str)
    console.log(str1)
}
console.log(str)
console.log(str1)// str1 is not defined
2. let声明的作用域不会被提升
console.log(str)
var str = 1
console.log(str1) // str1 is not defined
let str1 = 2
3. let同一作用域下不能定义相同的变量
var str = 1
var str = 11
console.log(str)//覆盖上一个定义的变量
let str1 = 2
let str1 = 22
console.log(str1)//'str1' has already been declared
4. 对于没有块级作用域的for 、if 使用var会产生问题
5. let与const

const修饰的标识符为常量,不可再次赋值

const a = 5
a = 10 // 错误, 不可以修改
const a // 错误,const修饰的标识符必须赋值

开发中优先使用const,可变的再使用let

常量的含义是指向的对象不能修改,但对象的属性可以修改。

总结

var属于js设计缺陷
开发中不变的常量使用const修饰, 可变的使用let修饰 ,不使用var

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容