先端で忘れがちな知識点


ここに目次の見出しを書きます
  • 1. Object.assginメソッド
  • 2. 配列に変換するいくつかの方法:slice.call() , Object.keys()
  • 3.functionのcall(),aplly
  • 1. Object.assginメソッド
    #                              。
    #        。
    const target = { a: 1 };
    
    const source1 = { b: 2 };
    const source2 = { c: 3 };
    
    Object.assign(target, source1, source2);
    target // {a:1, b:2, c:3}
    

    参照:https://www.jianshu.com/p/d5f572dd3776
    2.配列に変換するいくつかの方法:slice.call() , Object.keys()
    #    call      slice()   lis   
    1. [].slice.call(lis):#          ,lis.slice()
    
    #Object.keys(obj)               
    2. 
    <script>
     const obj = {
        firstName: 'A',
        lastName: 'B'
      }
      const names = Object.keys(obj)
      console.log(names[0].firstName)
     </script>
    #  :Array(2)
    		0: "firstName"
    		1: "lastName"
    		length: 2
    		 __proto__: Array(0)
    

    3.functionのcall()、aplly
    #          this   ,       ,         this   
    call()   apply()   this          
    bind()   this         
    call()   apply()       
        · call()          this  ,              ,          
    
        · apply()          this  ,          ,                
    
    #javacript       thisthis       ,    unfined
    1. method.call(obj):         ,
      :
    var x=10;  
    var o ={ x: 15 };  
    function foo(){  
        alert(this.x);  
    }  
      
    foo();         // 10  
    foo.call(o);   // 15  
    
    #apply() call()          ,        
    #  apply     ,      obj,        
    #  call()     ,     objc,        
    2.un.apply(obj,[2,3]);
      un.call(obj,2,3);
    3
    //  call
    boy.say.call(girl);
    
    //  apply
    boy.say.apply(girl);
    
    //  bind
    boy.say.bind(girl)();