ES6学习记录(一)
Class类
Class的静态方法
类相当于实例的原型,所有在类中定义的方法,都会被实例继承。如果在一个方法前,加上static关键字,就表示该方法不会被实例继承,而是直接通过类来调用,这就称为“静态方法”。[微信小程序使用Promis中有用到]
class StaticMethod { //定义静态方法 static getAge() { return '获取Age的静态方法'; } } //通过类名直接调用 console.log(StaticMethod.getAge());
class hell { name(val) { console.log(val); return val; } skill(val) { console.log(this.name("lily_") + "skill:" + val) ; //函数传参 this return } //类的传参 constructor(a, b) { this.a = a; this.b = b; } add() { return this.a + this.b; } } //类的继承 class htmler extends hell { } let zh = new hell(); zh.skill("Javscript- Jquery"); //lily_skill:Javscript- Jquery let mm = new htmler(); mm.name("lily"); //lily let classcd = new hell(1, 9); console.log(classcd.add()); //10 var a = typeof hell; console.log(a); //function
箭头函数
var add = (a,b=9)=>a+b; //给b一个默认值(可选) console.log(add(3)); //12
Promise
所谓Promise
,简单说就是一个容器,里面保存着某个未来才会结束的事件(通常是一个异步操作)的结果。
// 1,洗菜做饭 2,坐下吃饭 3,收拾碗筷 let state = 1; //状态 function step1(resolve,reject) { console.log("1,开始——洗菜做饭"); if(state==1){ resolve("洗菜做饭-完成"); }else { reject('洗菜做饭-出错'); } } function step2(resolve,reject) { console.log("2,开始——坐下吃饭"); if(state==1){ resolve("坐下吃饭-完成"); }else { reject('坐下吃饭-出错'); } } function step3(resolve,reject) { console.log("3,开始——收拾碗筷"); if(state==1){ resolve("收拾碗筷-完成"); }else { reject('收拾碗筷-出错'); } } //new Promise(step1).then().then().then() new Promise(step1).then( function (val) { console.log(val); return new Promise(step2); } ).then( function (val) { console.log(val); return new Promise(step3); } ).then( function (val) { console.log(val); } )