例如,我目前正在尝试为函数的类型定义类型,该函数的参数实现了解构性assgnment语法
type somefunc = ({name} : {name: string}) => boolean;
这给了我以下编译时错误:
./ src / App.tsx语法错误:/apps/src/App.tsx:意外的令牌, 预期的“)”(9:24)
它突出显示:
和{name}
之间的{name: string}
上的错误。但是,我知道这是为函数键入解构分配参数的预期方法。
我的节点版本是node v10.13.0
,而我的react-scripts版本是react-scripts v2.1.1
,它应该是最新的。
我如何使编译器理解这种语法?
答案 0 :(得分:1)
如果要在函数类型的声明中键入参数,则应这样写:
=>
它说,函数(boolean
)返回一个{...}
,并接受类型为对象name
的一个参数,并带有类型为string
的属性const myfn: somefunc = ({name}) => {
console.log('Name: ', name);
return true;
}
myfn({name: 'John'});
。
然后您可以在函数的定义中使用解构:
select trunc(date '2019-03-13', 'iw') + 4 from dual;