ES6中new一个箭头函数会怎样

1)new关键字的执行过程

  • new构造函数后,会在内存中创建一个空对象
  • this就会指向刚才创建的这个空对象
  • 执行构造函数中代码,给空对象添加属性方法
  • 返回这个新的对象(所以构造函数中不需要return)

2)箭头函数
箭头函数内的this是静态的,指向定义时所在的对象,而不会是调用时的对象,this指向不可以改变

        var age=18
        var obj={
            age:20,
            getAge(){
                //构造函数,谁调用,this就指向谁
                console.log(this.age);
            },
            getAge1:()=>{
                //this是静态的,指向定义时所在的对象(window对象),不能作为构造函数
                console.log(this.age);
            },
        }
        obj.getAge()//20
        obj.getAge1()//18

你可能感兴趣的:(基础巩固,es6,前端,ecmascript)