Javascript 对象中的匿名箭头函数

Javascript 对象中的匿名箭头函数,javascript,object,arrow-functions,Javascript,Object,Arrow Functions,这种语法是如何工作的: 设foo=0;//或1 let bar={ foo:foo | |函数(x){return'foo'+x;} }; //如果foo是0 bar.foo('bar');//返回“foobar” //如果foo是1 bar.foo;//返回1 而这一个没有: 设foo=0;//或1 let bar={ foo:foo | |(x)=>{return'foo'+x;} }; 如果我尝试运行下面的示例,我会在控制台中得到格式错误的箭头函数参数列表错误。它的格式是如何不正确的,

这种语法是如何工作的:

设foo=0;//或1
let bar={
foo:foo | |函数(x){return'foo'+x;}
};
//如果foo是0
bar.foo('bar');//返回“foobar”
//如果foo是1
bar.foo;//返回1
而这一个没有:

设foo=0;//或1
let bar={
foo:foo | |(x)=>{return'foo'+x;}
};

如果我尝试运行下面的示例,我会在控制台中得到
格式错误的箭头函数参数列表
错误。它的
格式是如何不正确的
,要获得与上面示例相同的功能,正确的语法是什么?

问题在于arrow函数不知道如何对参数进行分组。您应该将函数用括号括起来,如下所示:

设foo=1
let bar={
foo:foo | |(x=>{return'foo'+x;})
};

我有一段时间没有使用js,但我认为

let bar = {
   foo: foo || (x => { 'foo' + x })
};
我应该做这项工作

问候语

let bar={foo:foo | |((x)=>'foo'+x)}有关详细信息,请参阅