【发布时间】:2020-11-29 20:13:02
【问题描述】:
interface Incrementor {
(x: number): number;
increment: number;
}
const a: Incrementor = function (x) { return 111 };
a.increment = 111;
let a1: Incrementor = function (x) { return 111 };
a1.increment = 111;
在使用let的情况下,错误提示显示“属性'increment' is missing in type '(x: number) => number' but required in type 'Incrementor'”。 但是在使用 const 的情况下不显示。
本例中使用let和const有什么区别?
【问题讨论】:
-
如果你使用
[index: string]: any而不是increment: number,它会起作用,但它仍然会作弊。但是如果你把它改成[index: string]: number就会抛出错误 -
@SerhiiBilyk 当然,[index: string]: any 允许空键值
标签: typescript typescript-typings