众多周知,现在ES6基本已经普遍使用,因为ES6标准使松散的JavaScript严谨了很多,有了类的出现,更接近于后台语言,抓紧时间现在给大家详细介绍一下ES6的语法。
首先现在的浏览器基本都支持ES6新标准了,除了很少的浏览器如:IE6,IE7等比较低的版本;
现在咱们对比ES5来学习ES6,
第一个知识点: ES5: var a = 12;
let------用来定义变量
let a=12;
let和var区别:
代码块:{ }包起来的代码 ,(比如:if for while)形成了一个作用域,块级作用域
var只有函数作用域
let特点:只能在代码块里面使
a).let具备块级作用域
b).不允许重复声明 如:let a = 12;
let a = 5 //错的
总结:其实let才是接近其他语言的变量
@ let用处:
封闭空间:
ES5:(function()
var a = 12;
})()
现在:
{
let a = 12;
}
ES6 能定义变量的let还能帮我们解决那些问题的呢?能解决 i 的问题,大家详细看看下面的解释,相信大家对于let 的能够基本掌握了
i问题:
window.onload = function(){ var aBtn = document.getElementsByTagName('input');
以上图是点击每个按钮都是显示的3;ES5解决方法:
创造一个封闭的空间,就可以解决这个问题了,按钮aaa显示0,bbb显示1,ccc显示2ES6现在:
和以上的效果相同,但是比ES5简单多了总结:块级作用域,其实就是匿名函数立即调用
第二个知识点:常量
conset -----用来定义 常量
一旦赋值,以后再也修改不了了
const a = 12;
a = 12 //报错
注意:const必须给初始值, 不能重复声明
因为以后再也没发赋值了,所以声明的时候一定的有值
用途:为了防止意外修改变量
比如引入库名,组件名
第三个知识点: 字符串连接
ES5的做法:
用‘+’来拼接,非常不好,也容易出错之前:
var str =‘’;
var str =””;
ES6现在:
反单引号:var str = ``;以上是ES6字符串连接用法 拼接的地方直接写${xxx}就可以了
之前:‘abc’+变量名+’ef’
现在:`abc${变量名}e`
第四个知识点:解构赋值
var [a,b,c] = [12,5,101];
var {a,b,c} = {b:5,a:12,c:101};跟顺序无关
模式匹配:----左测的样子,需要和右测一样var [{a,e},[b,c],d] = [{e:’eeeee’,a:’aaaaa’},[1,2],5];
用途:
交互:-----数据解析
注意:解构赋值是名字也要和json数据中的名字一样,否则不会实现解构赋值解构赋值还可以给默认值:
之前:
var json = {};
var a = json.a || 12;
现在语法:
var{time=12,id=0} = {};
解构赋值默认值得用法
今天先写到这里,之后还会有剩余 ES6 的讲解,喜欢的朋友多多支持!!!
网友评论