ES6从入门到入门

2018-08-03  本文已影响10人  陌上桑_浅

ES6常用内容以下:

1.变量

2.函数

3.数组

4.字符串

5.面向对象

6.Promise

7.generator

8.模块化

变量

原ES5:

1.var声明变量,可以重复声明,可以覆盖声明;

2.无法限制修改;

3.没有块级作用域(语法块).

ES6:

1.let和const定义变量,不能重复声明;

2.let声明的是变量,可以修改;const声明常量,不可修改;

3.块级作用域,let和const定义的都是块级作用域;(注意:语法块指的是大括号包括的,不只是for或者if),块级作用域到底有什么用呢?举个栗子:

以上代码运行的结果想必大家都知道吧,那就是不管你点击谁alert的结果都是3,但是咱们想要的结果是啥?是点第几个就弹出几,对吧,所以呢ES6以前,解决办法是使用闭包,对吧,也就是下面这样:

使用另一个函数把他包裹起来

而ES6的解决办法就很简单了:

使用let代替var就OK

在打醒项目开发的时候,块级作用域对于合作开发来说效果更好,很好的避免了重复定义变量;

函数

1.箭头函数

标准函数:function fnName(){  }

箭头函数:( ) =>{    }

箭头函数需要注意:如果有一个参数,圆括号可以省略;如果只有一个return,{}可以省略;修正this指向

2.函数的参数

-参数的展开和扩展,

剩余参数(...name,必须放在最后),收集剩余的参数function show(a,b,...args)

展开数组: let arr =[1,2,3];...arr //1,2,3

默认参数:

解构赋值

1.左右两边结构必须一致;

2.右边必须是个合法的东西

3.声明和赋值不能分开(必须在一句话里完成)     比如:let [a,b]; [a,b] = [1,2];这样写的话一准报错,解构赋值解构赋值,说的就是解构并且赋值的,分开了就不好了......

数组

-map ----- 映射(一个对一个的)

-reduce ----- 汇总(一堆出来一个),参数是 (中间暂时值,item,index)

-filter ------- 过滤器(返回符合条件的)

-forEash ------ 循环,迭代(对每个itemj进行操作)

字符串

1.多了两个新方法(startsWith,endsWith)

2.字符串模板

字符串连接

直接把东西塞到字符串里面${变量名}

可以在``中间写,不用拼接,可以折行

面向对象

1.class关键字,与构造器分开

2.在class里面直接加方法

继承:

JSON

1.json对象

   json格式变字符串: JSON.stringify(json)

   json将字符串转为json格式: JSON.parse(str);

2.简写(即vue中的写法)

   key和value一样的话写一个就可以;

    方法:把:function一起删除

json标准写法:只能用双引号;所有的名字都必须用引号包起来

Promise(用同步的方式书写异步)

异步:每个操作之间没有关系,并行,即同时进行多个操作,但是会让代码更复杂;

同步:同一时间只能做一个事,一个接一个,串联,代码更简单;

generator生成器

普通函数---一路到底,

generator函数-----可以随时停止

基本用法:

关于 yield可以传参,可以返回值

异步操作:

-.基本的回调 $.ajax({  })

-.Promise(适合一次读一堆,没有先后顺序)  带逻辑的读取的话,还是比较麻烦 Promise.all([ ])

-.generator(有逻辑性的)  runner

ES7,ES8预览(PS:已经写入了阮大大的书里面啦)

--数组 inclides数组是否包含某个东西

--数组 keys/values/entries(键值对) 

for...of...

for...in...:数组遍历的是下标 key,json是key

for...of... :数组的值不能用于json

--字符串padStart(),padEnd()

--async  wait(async详述)

以上,是常用的ES6语法,从入门到入门,所以也就只是了解而已.

路漫漫其修远兮......

上一篇下一篇

猜你喜欢

热点阅读