es5和es6对于前端开发来说是经常都会使用的方法,他们为我们开发提供了很多便利的方法和写法,使我们的代码更加的优雅,作为一个新人就让我简单总结一下es5与es6的不同。
1. 变量
首先在变量方面es6为我们提供了let和const这两种新的声明方法,let和const的出现大大的避免了变量污染的问题,因为在es6的语法中,let和const是局部作用域变量声明,应该说他们带来了局部作用域的概念,用let和const声明的变量只会在声明的作用域中起作用,切不可以重复声明,这样可以防止我们在声明变量的时候会造成全局变量污染,也会防止我们声明重复,导致一个变量充当了两个变量使用,并且const声明的变量是只读类型的,意味着我们用const声明的变量只可以作为常量使用,而且这两个声明方法还存在着暂时死区,在es6出来之前我们用var来声明变量的时候会发生与解析即变量提升不复制,虽然没有值但是变量已经存在被定义了,但是const和let却不会,他们声明的变量不会提升,在你声明之前都不会被定义。
2. this指向
es6新增了箭头函数,箭头函数不会改变this的只想,这样我们在调用方法或者执行函数的时候就可以不用担心this指向,也不会为了缓存this而去声明that来执行方法了。
3. 模板字符串,es6提供的模板字符串可以极大为我们使用变量代替内容提供了便利,而es5 还没有模板字符串,所以很多混用都是通过‘’+变量+‘’这个模式完成的
4. es6还提供了解构赋值的功能,并且还支持默认值得使用为我们编写提供了很多的便利
,