ES 6のasyncとGenerator,classクラス継承


{
  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}遍歴が終わりました
/*
  • 以前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);
        //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);//親のプロトタイプオブジェクト
  • を指します.