ES6之模板字符串和箭头函数以及this指向

ES6之模板字符串和箭头函数以及this指向

一.模板字符串

简单:  `  `    变量的就用 ${ 变量名 }

 

二.箭头函数

let  函数名 =  (参数) =>{ 函数体 }

 

一般函数改为箭头函数

  声明形式:

    function add( ){ }

 

  函数表达式的形式:

    let add = function( ){ }

  

  箭头函数的形式:

    let add = ( ) =>{ }

 

注意事项:

  1.单个参数可以省略 ( )

  2.单行函数体可以省略 { }  和 return ,得同时去掉,不一起去掉就报错

 

 

三.非箭头函数的this指向

1.全局作用域的this指向, 

  -- window

 

2.函数的this指向( 非箭头函数 )

  -- 只有函数调用的时候,才可以确定this指向,谁调用指向谁;未调用,不清楚,在哪调用没关系,只和谁在调用有关

  例子: 

  const calc = {
    add: add
  };
  const adder = calc.add;
  adder(); // undefined->window(非严格模式下)-- 在哪调用没关系,只和谁在调用有关

 

  function add() {
    console.log(this);
  }

  //严格模式就指向 undefined
  add(); // undefined->window(非严格模式下)

 

3.构造函数的this指向  

  -- 生成实例的对象

  构造函数也就是new出来的

四.箭头函数的this指向

箭头函数没有自己的this,跟外层的this一致

 

 注意:

  箭头函数不能作为构造函数 ( 因为没有this )

  箭头函数没有this   ( 需要this指向调用对象的时候,不能用箭头函数--事件的时候 )

  箭头函数没有arguments  

  

 

 

 

 

 

 

 

 

 

 

 

posted @ 2022-01-18 15:56  杨建鑫  阅读(129)  评论(0编辑  收藏  举报