ES 6のasyncとGenerator,classクラス継承
{
function*method(){yield"データ1";yield"データ2";yield"データ3"}let generatorfun=method();//この関数を実行するときは、関数は実行されず、その関数の状態consoleを返す.log(generatorfun);//呼び出しコンビニエンスストアメソッドを実行するnext移動メソッドの内部のポインタ//nextは、オブジェクトvalueがyield式を指す値done falseがループがまだ終了していないことを示す.log(generatorfun.next());console.log(generatorfun.next());console.log(generatorfun.next());console.log(generatorfun.next());//{value:undefined,done:true}遍歴が終わりました
/*以前jsはプロトタイプチェーンを修正することによって の継承を実現した. es 6でextendsによる継承 を実現は以前よりも鮮明で便利です *///親class Person{name=";sex=";age=";static clothes="制服";constructor(name,sex,age){this.name=name;this.sex=sex;this.age=age;}toString(){console.log(this.name+「学生です」)}//子//子クラスが親クラスを継承した後に親クラスのすべての属性とメソッドclass Student extends Person{constructor(name,sex,age){//super関数の使用方法super(name,sex,age);//superが親の構造//superを指すのは子クラスのインスタンス//Person.prototype.constructor.call(this); を指します.
async function method() {
try {
let aw1=await new Promise(function (resolve,reject){
//promise reject
if(true)
{
setTimeout(resolve,1000," ")
}
else{
reject(" ");
}
});
let aw2=await (function (params){
return new Promise(function (resolve,reject){
setTimeout(function (){
resolve(" "+params);
},1000)
});
})(aw1);
return aw2;
}
catch (e) {
throw new Error(e);
}
finally{
console.log(" ");
}
}
method().then(function (res){
console.log(res);
}).catch(function (err){
console.log(err);
}).finally(function (){
console.log(" ");
});
}
function*method(){yield"データ1";yield"データ2";yield"データ3"}let generatorfun=method();//この関数を実行するときは、関数は実行されず、その関数の状態consoleを返す.log(generatorfun);//呼び出しコンビニエンスストアメソッドを実行するnext移動メソッドの内部のポインタ//nextは、オブジェクトvalueがyield式を指す値done falseがループがまだ終了していないことを示す.log(generatorfun.next());console.log(generatorfun.next());console.log(generatorfun.next());console.log(generatorfun.next());//{value:undefined,done:true}遍歴が終わりました
/*
//super
//super
super.toString();
}
//
static getClothes(){
// super
console.log(super.clothes);
}
toJob(){
}
}//学生let stu=new Studio(「張三」,「男」,28);console.log(stu);Student.getClothes();//console.log(Student.clothes); console.log(stu.proto);//子クラスのprotoプロパティは、コンストラクション関数の継承を表し、常に親クラスを指します.console.log(Student.prototype.proto);//親のプロトタイプオブジェクト