首页 > 试题广场 >

关于ES6箭头函数()=>{},描述错误的是()

[单选题]
关于ES6 箭头函数 ()=>{} ,描述错误的是()
  • 当箭头函数没有参数或有大于等于两个的参数时,必须使用括号,如:let a = ()=>{} 或 let a = (b, c) => {};
  • 箭头函数没有arguments 绑定
  • 箭头函数的this是函数定义的对象,而不是使用函数的对象
  • var f = v => v;以上语法有误
D后面那句话估计很多人都没注意看
发表于 2020-11-03 16:33:44 回复(1)
看错题了,D选项箭头函数若函数体只有条表达式会被默认返回;B的话就是,箭头函数是没有自己的this,有的话就是指向它的上一级即它的父级元素,且箭头函数是没有argument关键字的,argument关键字是一个数组储存着所有传入其中的形参
编辑于 2020-09-25 19:11:22 回复(1)
箭头函数不能用于函数的声明
发表于 2020-10-07 23:46:15 回复(2)
**,瞅了半天D,首先是因为只有一个参数v,所以省略了(),没问题,其次因为只有一行语句,所以{}省了也可以,实在挑不出错就蒙了个C(虽然C也没看出有错),没仔细看D后面还有这么句话呀,啊……
发表于 2020-11-24 02:08:07 回复(2)
D哪里有问题?
发表于 2020-09-18 18:16:11 回复(9)
A. 箭头函数,只有一个参数时,括号可以省略;没有参数或者有大于等于两个参数时,括号不可以省略
// 无参数
let a = () => {}
let a = function () {}

// 单个参数
let a = b => {}
let a = function (b) {}

// 多个参数
let a = (b, c) => {}
let a = function (b, c) {}

// 不定参数
let a = (b, c, ...args) {}
var a = function(b, c, ...args) {}

B. 箭头函数本身没有arguments。如果箭头函数在一个function内部,它会将外部函数的arguments拿过来使用。
箭头函数中要想接收不定参数,应该使用rest参数 ... 解决。
let F = (...args) => {
    console.log(args);
}
F(2,6);     // [ 2, 6 ]
F(2,4,6);   // [ 2, 4, 6 ]

C. 箭头函数的this指向其父作用域,而不是调用时的this,任何方法都改变不了,包括call,apply,bind。
普通函数的this指向调用它的那个对象。

D. 语法没有错
var f = v => v
var f = function (v) { return v; }
编辑于 2020-11-30 18:14:49 回复(0)
按理说语法应该没问题,但偏偏就是错了
发表于 2021-07-23 11:37:40 回复(0)
看错题了,D选项正确应该是: 
var f = v => v;以上语法无误
发表于 2020-11-23 11:07:38 回复(0)
阮一峰:::::::::::
ES6 允许使用“箭头”(=>)定义函数。
var f = v => v;
发表于 2020-11-20 08:44:29 回复(0)
审题不仔细,尴尬 ̄□ ̄||
发表于 2020-10-04 16:02:46 回复(0)