首页 > 软件 > js引入箭头函数更简短并且不绑定this就是最大特点吗

js引入箭头函数更简短并且不绑定this就是最大特点吗

软件 2024-08-24

箭头函数可以new吗

箭头函数不可以new。

ES6允许使用箭头定义函数。其基本语法是:参数=>函数体;(参数)=>{函数体}。

当箭头函数的参数只有一个时其小括号可以省略。但是当参数没有或者有大于1个时必须要有小括号。当箭头函数的内部只有一条语句并且需要返回该结果时,可以省略大括号。

当其要返回的是对象时,为了区分代码块,必须要在对象外面加上括号。箭头函数不能用作创建对象,即不能new,会报错。注意点:箭头函数中的this与之前的函数this不一样。不能通过call()等方法修改this指向。

箭头函数中this会指向其最近的嵌套级的方法和函数的对象。因此在回调函数中常用箭头函数的特性封装回调函数。注意点:箭头函数中没有arguments取所有的参数,可以通过(...rest)取出剩余的值。除此外super、new.target在箭头函数中也是不存在的。

箭头函数的特点:

1、相比普通函数,箭头函数有更加简洁的语法。

2、函数不绑定this,会捕获其所在上下文的this,作为自己的this。

3、箭头函数是匿名函数,不能作为构造函数,不可以使用new命令,否则后抛出错误。

4、箭头函数不绑定arguments,取而代之用rest参数解决,同时没有super和new.target。

5、使用call,apply,bind并不会改变箭头函数中的this指向。

6、箭头函数没有原型对象prototype这个属性。

7、不能使用yield关键字,不能用作Generator函数。

箭头函数有没有prototype

箭头函数没有prototype。

javascript中的每个对象都有prototype属性,Javascript中对象的prototype属性的解释是:返回对象类型原型的引用。每一个构造函数都有一个属性叫做原型,这个属性非常有用,能为一个特定类声明通用的变量或者函数。

箭头函数设计之初,是为了设计一种更简短的函数并且不绑定this。所以箭头函数不为参数super、this或new.target定义本地绑定。因为没有构造原型的需求,所以箭头函数不存在prototype属性。

箭头函数没有单独的this

在箭头函数出现之前,每一个新函数根据它是被如何调用的来定义这个函数的this值:

1、如果该函数是一个构造函数,this指针指向一个新的对象

2、在严格模式下的函数调用下,this指向undefined

3、如果该函数是一个对象的方法,则它的this指针指向这个对象

JavaScript中的普通函数和箭头函数的区别和用法详解

JS箭头函数和function的区别: 箭头函数体内的this对象,就是定义时所在的对象,而不是使用时所在的对象。 箭头函数不可以当作构造函数,也就是说,不可以使用new命令,否则会抛出一个错误。 箭头函数不可以使用arguments对象,该对象在函数体内不存在。如果要用,可以用Rest参数代替。 不可以使用yield命令,因此箭头函数不能用作Generator函数。

标签:信息技术 函数 JavaScript 前端开发 编程语言

大明白知识网 Copyright © 2020-2022 www.wangpan131.com. Some Rights Reserved. 京ICP备11019930号-18