说⼀下箭头函数与普通函数的区别?
在 es6 中,提供了⼀种简洁的函数写法,我们称作“箭头函数”。
写法:函数名=(形参)=>{……} 当函数体中只有⼀个表达式时,{}和 return 可以省略,当函数体中形
参只有⼀个时,()可以省略。
特点:箭头函数中的 this 始终指向箭头函数定义时的离 this 最近的⼀个函数,如果没有最近的函数
就指向 window。
区别:
1. 箭头函数不能⽤于构造函数,不能使⽤ new\*\* ⽽普通函数可以
2. 在普通函数中,this 总是指向调⽤它的对象,如果⽤作构造函数,this 指向创建的对象实例,
⽽箭头函数指向箭头函数定义时的离 this 最近的⼀个函数,如果没有最近的函数就指向
window。
说说 new 操作符具体⼲了什么?
答:在 JavaScript 中, new 操作符⽤于创建⼀个给定构造函数的实例对象
new 的实例可以访问构造函数函数里的属性
也能访问 原型上的方法
创建⼀个新的对象 obj
将对象与构建函数通过原型链连接起来
将构建函数中的 this 绑定到新建的对象 obj 上
根据构建函数返回类型作判断,如果是原始值则被忽略,如果是返回对象,需要正常处理