[英]Type definition for functions in Typescript
在最近的编码情况中,我发现 (A) onPress?(): void
是 (B) onPress?: () => void
的有效替代方案。 我确实更喜欢 B 而不是 A,因为它看起来在 TypeScript 社区中更常见,并且因为定义你的道具名称的一致性, ?
如果需要可选道具,用:
分隔,然后是你的类型。
我的问题是:是否有任何文档说明 A 也是正确的,或者它与 B 的不同之处? 还是一样? 还是两者中的一个更受欢迎?
提前致谢!
type Props = {
onPress?(): void
}
type OtherProps = {
onPress?: () => void
}
const instanceOfProps: Props = {
onPress: () => {}
}
const instanceOfOtherProps: OtherProps = {
onPress: () => {}
}
在这种情况下,A 只是 B 的语法糖。 我相信它基于ES6 object initializers ,它支持使用onPress() {...}
作为函数值。 但是,由于您正在创建一个类型,TypeScript 只关心类型而不关心实现,因此{...}
被替换为: type
。
我个人更喜欢 A,因为它更短,更符合 ES6,并且看起来更像 TypeScript 中的属性类型。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.