ES 6基礎知識まとめ3----call()・apply()・bind()・set()およびクラスの基礎


call()、apply()、bind()の使用例
  • call()定義:現在のオブジェクト
  • を別のオブジェクトに置き換えるオブジェクトを呼び出す方法.
    // call        
    //       this  ,    null,          
    var arr1 = Math.min.apply(null,arr);
    console.log(arr1);
    

    括弧内の最初のパラメータはthis指向と偽ってnullを入力できず、2番目のパラメータは伝達された値です.
  • apply()定義:現在のオブジェクト
  • を別のオブジェクトに置き換えるオブジェクトを呼び出す方法.
    // apply        
    //       this  ,    null,          
    var arr1 = Math.max.apply(null,...arr);//...arr      ,         
    console.log(arr1);
    

    括弧内の最初のパラメータはthis指向と偽ってnullを入力できず、2番目のパラメータは伝達された値です.
    ここでcallとapplyの違いは括弧内の2番目のパラメータであり、callの2番目のパラメータは配列に伝達され得るが、applyの2番目のパラメータは1つだけ伝達される.
  • bind()定義:新しい関数を作成し、this
  • に入力します.
    var name = 'mumu';
       		var age = 18;
       		function say(a,b){
         
       			console.log(`   ,     ${
           this.name},  ${
           this.age}  `)
       			console.log(a,b,a+b)
       		}
       		var nsay = say.bind({
         name:'lh',age:18},10);
       		// say  bind         this bind     ,a   10
       		nsay(7);//    
    

    bind()は新しい関数を作成するので、新しい呼び出しが必要です.
  • set()定義:重複しない配列であり、配列の重み付けを実現することができる.set()メソッド:add()を追加delete()を削除長さsize遍歴for ofを配列Arrayに変換する.from()または[...]has()
  • があるかどうか
    			var s = new Set([1,3,1,3,5,7]);
    			s.add(9);
    			console.log(s);
    			//  
    			s.delete(1);
    			console.log(s);
    			//  
    			for(let i of s){
         
    				console.log(i)
    			}
    			//  
    			console.log('size:',s.size);
    			//  
    			console.log('   5',s.has(5));
    			//   
    			
    
  • map()定義:オブジェクトに似ています.オブジェクトと区別:キー名は任意のオブジェクトであり、オブジェクト:キー名は文字列またはsymbolシンボルmapのみが秩序であり、オブジェクト:デフォルトで
  • にソートされます.
    使用方法:
    var obj = new Map([['a','good'],[b,'student'],[1,'best']]);//        , b,1
    // console.log(obj);
    
  • Symbol()定義:シンボルはオブジェクトのkeyに固有に使用されます.
  • 	var s1 = Symbol('blue');
    	var obj = {
         [s1]:'mumu'};
    	obj[s1];//  s1  
    	Symbol.for('blue') == Symbol.for('blue'); //true
    	Symbol('blue') == Symbol('blue'); //false
    
  • for ofループデフォルトループはval
  • です.
    var arr = ['  ','  ','  '];
    			     val
    			for(let i of arr){
         
    				console.log(i)
    			}
    
         
    
    for(let key of arr.keys()){
         
    				console.log(key)
    			}
    
         
    
     for(let val of arr.values()){
         
    			 	console.log(val)
    	 }
    
    entries       
    
    for(let [key,val] of arr.entries()){
         
    				console.log(key,val)
    	}
    

    クラスの作成
    ≪クラス|Class|emdw≫:オブジェクトを作成するテンプレート・インスタンスです.クラスによって作成されたオブジェクトです.クラスによって複数のインスタンスを作成できます.
    class Animal{
         
    				constructor(name){
         
    					this.name = name;
    					//this    
    				}
    				running(){
         
    					console.log('     ')
    				}
    			}
    

    継承クラス
    class Dog extends Animal{
         
    				constructor(name){
         
    					super(name);//         			
    				}				
    				bark(){
         
    					console.log('   ')
    				}
    			}			
    			var a1 = new Dog('  ');//      Dog
    			a1.bark();//      
    			var a2 = new Dog('  ');
    			a1.bark();
    

    今日更新して、毎日更新します