ES6的新特性有哪些
1.新增块级作用域(let,const)
在ES6之前只有全局作用域和局部作用域,ES6新增了块级作用域let和const,下面将简单介绍var、let和const的特点以及区别。
块级作用域:只能在声明的区域(代码块)中使用,不能在声明的区域的外部使用,否则报(xxx is not defined)。
var:使用var声明的变量,其作用域为该变量所在的函数内,且存在变量提升现象(变量提升:可以先使用再声明),不会受到块级作用域的影响
let:ES6新增的块级作用域
1:使用let声明的变量具有块级作用域:,只能在当前声明的代码块中使用,必须要先声明再使用
2:具有暂时性死区特性。在代码块内,使用let和const命令声明变量之前,该变量都是不可用的,语法上被称为暂时性死区。
const:ES6中新增的常量(常量:值(内存地址)不可更改的量)。特点如下:
3.1:具有块级作用域的特点,只能在当前声明的代码块中使用,必须要先声明再使用。
3.2:声明常量时必须赋值,如果不赋值报错:Missing initializer in const declaration(在const声明中未初始化)。
3.3:const声明的常量不可更改。
3.4:使用const声明的常量如果是基本数据类型(比如:数字、字符串),一旦赋值,值不可以更改;如果是引用数据类型(数组,对象),不能重新赋值,但是可以更改数据结构内部的值(比如修改对象中的属性)。
2.新增了定义类语法糖(class)
1.class是ES6提供的一个语法糖,本质是一个函数。
2.在class中声明方法,不需要function关键字。
3.class存在暂时型死区,在声明之前不能调用。
4.class默认有constructor、static方法。(constructor 方法是类的默认方法,创建类的实例化对象时被调用。)<script> class Start {<