ES6中变量声明的6种方式详解(var、function、let、const、import、class)

在ES5中变量声明的方式只有var和function两种方法,ES6中增加了四种不同的变量声明方式,分别为let、const、import以及class。

一、用关键字var声明变量

1、var声明的全局对象是顶级对象(window)的属性;
2、用var在函数外声明的对象为全局变量,在函数内声明的对象为局部变量;
3、用var可以对同一对象重复声明和赋值;
4、用var声明的对象具有变量提升的作用(声明提前,赋值不提前);

二、用关键字function声明变量

1、用function声明的函数对象具有变量提升的作用(声明提前,赋值不提前);
2、function声明的函数对象是顶级对象(window)的属性;

三、用关键字let声明变量

1、用let声明的变量在块级作用域内有效;
2、let声明的变量不存在变量提升;
3、let声明的变量存在暂时性死区(即同一个块级作用域中,在let声明该变量的语句之前,该变量已经存在,但是不能使用);
4、在同一个作用域内,对于let声明的变量不能重复声明。

四、用关键字const声明变量

1、const命令声明的值一旦声明,就不能再次改变;
2、const声明变量时,必须立即初始化,否则会报错(因为值一旦声明不可改变);
3、const声明的变量不存在变量提升;
4、const声明的变量存在暂时性死区;
5、const声明的变量只在块级作用域内有效;
6、const变量在同一个作用域内不能重复声明。

五、用关键字class声明变量

待深入学习之后再进行补充。

六、用关键字import声明变量

待深入学习之后再进行补充。

发布了33 篇原创文章 · 获赞 35 · 访问量 812

猜你喜欢

转载自blog.csdn.net/chaopingyao/article/details/105222578