Js-声明变量(var、let、const区别)

在Js中三种声明变量的方式: var、 let、const,建议使用优先级: const  > let > var

1. var定义变量,没有块的概念,可以跨快访问,不能跨函数访问,不初始化会出现undefined,不会报错
2. let定义变量,只能在块作用域里访问,也不能跨函数访问,对函数外部无影响。
3. const定义常量,只能在块作用域里访问,也不能跨函数访问,使用时必须初始化(即必须赋值),而且不能修改

1.1 - Es6中提出的let、const。let完全可以替代var,因为两者语义相同,而且let没有副作用(var存在变量提升效果,let没有)

if (true) {    
    console.log(x)  // ReferenceError      
    let x = 'hello'
}
把let换成var就不会报错了

1.2 - 在let和const之间,建议优先使用const,尤其是在全局环境,不应该设置变量,只应设置常量。

         原因:1.const可以提醒阅读程序的人,这个是变量不应该改变
                    2.const比较符合函数式编程思想,运算不改变值,只是新建值,而且这样也有利于将来的分布式运算
                    3.js编辑器会对const进行优化
                    所以多使用const,有利于提高程序的运行效率

   

       

你可能感兴趣的:(Js-声明变量(var、let、const区别))