箭头函数相对于普通函数有哪些区别
时间: 2024-05-28 22:12:26 浏览: 10
箭头函数相对于普通函数有以下几个区别:
1. 箭头函数没有自己的this值,它继承了父级作用域的this值,因此在箭头函数中使用this时,它指向的是箭头函数定义时的上下文对象,而不是函数被调用时的上下文对象。
2. 箭头函数不能使用arguments对象,因此无法访问到函数的实参列表。
3. 箭头函数不能作为构造函数使用,因为它没有自己的this值。
4. 箭头函数没有prototype属性,因此不能定义原型方法。
5. 箭头函数不能使用yield关键字,因此无法定义生成器函数。
6. 箭头函数的语法更加简洁明了,使用时可以省略function关键字、花括号和return关键字。
相关问题
箭头函数与普通函数有哪些区别
箭头函数和普通函数的主要区别如下:
1. 箭头函数没有自己的this,指向的是定义时所在的作用域中的this,而普通函数的this则指向函数被调用时的对象;
2. 箭头函数不能使用arguments对象获取函数的实参,需要使用剩余参数(rest parameters)代替;
3. 箭头函数没有自己的arguments对象和super关键字,不能用作构造函数;
4. 箭头函数不能使用new关键字调用,因为缺少了新创建的对象,this也无法绑定;
5. 箭头函数不能作为Generator函数,不能使用yield关键字。
因此,箭头函数通常用于对于this绑定比较简单的场合,而普通函数则更灵活。
js箭头函数与普通函数有什么区别
箭头函数和普通函数在语法和功能上有一些区别。首先,箭头函数是匿名函数的简化形式,可以省略函数定义的一些部分。其次,箭头函数和普通函数在使用时有一些差异。
1. 箭头函数不能作为构造函数使用,而普通函数可以被实例化为对象。
2. 箭头函数没有自己的this关键字,它的this是继承自上下文环境。而普通函数的this关键字指向调用函数的对象或undefined(在严格模式下)。
3. 箭头函数没有arguments关键字,它不具备普通函数的参数对象。而普通函数可以通过arguments访问所有传入的参数。
4. 箭头函数不能使用super关键字,它无法访问其父类的属性或方法。而普通函数可以使用super关键字来引用父类的属性或方法。
5. 箭头函数不能被用作Generator函数,它不能使用yield关键字。而普通函数可以被用作Generator函数,并且可以使用yield关键字返回多个值。
综上所述,箭头函数和普通函数在语法和功能上有一些差异,主要体现在构造函数的使用、this关键字的指向、参数对象的访问、super关键字的使用和Generator函数的支持等方面。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)