认识es6

1.ECMA是标准,JS是实现
2.ES6(ES2015)--IE10+、Chrome、FireFox、移动端、NodeJS
3.编译、转换:
1、在线转换 browser.js === babel 指定script为type="text/babel"
2、提前编译(推荐)
4.ES6新特性:
1.变量
2.函数
3.数组
4.字符串
5.面向对象
6.Promise
7.generator
8.模块化
5.ES6变量:
var 的问题:
1.可以重复声明
2.无法限制修改
3.没有块级作用域{ } if(){} 在块里面定义的变量在外面访问不到
let: 不能重复声明、变量-可以修改、块级作用域
const: 不能重复声明、常量-不可修改、块级作用域
6.函数--箭头函数
以前:
function name(){

}
现在:
()=>{

}

1.如果只有一个参数,()可以省略
2.如果只有一个return,{}可以省略
array.sort()
7.函数的参数
1.参数扩展/数组展开(...)
2.默认参数

参数扩展:
1.收集剩余的参数
function show(a, b, ...args){}
*Rest Parameter must be last
2.展开数组
*展开后的效果,跟直接把数组的内容写在这儿一样
let arr = [1, 2, 3];
...arr <==> 1, 2, 3
--------------------------------------------------
默认参数:
$('#div1').animate({width: '200px'});
$('#div1').animate({width: '200px'}, 1000);
8.解构赋值:
1.左右两边结构必须一致
2.右边必须是个东西
3.声明和赋值不能分开(必须在一句话里完成)

let [a, b, c] = [12, 5, 8];
let {a, b, c} = {a:12, b:5, c:8};
9.数组
1.map 映射 一个对一个
[12, 58, 99, 86]
[不及格, 不及格, 及格, 及格]
2.reduce 汇总 一堆出来一个
3.filter 过滤器
4.forEach 循环(迭代)
10.字符串
1.多了两个新方法
startwith
endwith
2.字符串模板
a.直接能把东西塞到字符串里面 ${东西}
b.可以折行
11.ES6的面向对象:
1.class关键字、构造器和类分开了
2.class里面直接加方法
12.继承:
super--超类==父类
13.面向对象应用--React
React:
1.组件化--class
2.JSX
JSX==babel==browser.js
JSX JS扩展版
14.json:
json对象:
json标准写法:
a.只能用双引号
b.所有的key都必须用引号包起来
json简写:
名字一样:key和value一样,可以只剩一个
方法:省略:function
15.promise:
--消除异步操作:用同步一样的方式,来书写异步代码;

异步:操作之间没啥关系,同时进行多个操作,but代码更复杂
同步:同时只能做一件事,but代码简单

Promise.all([
$.ajax(), $.ajax()
]).then(function(){
//成功
}, function(){
//失败
});

16.generator--生成器
普通函数-- 一路到底
generator函数-- 中间能停, 踹一脚走一步,

yield
--传参
--返回


猜你喜欢

转载自www.cnblogs.com/caicai521/p/11262075.html
ES6
今日推荐