gpt4 book ai didi

javascript - Typescript - 混合类型

转载 作者:搜寻专家 更新时间:2023-10-30 21:05:55 24 4
gpt4 key购买 nike

我在 Typescript 手册中看到了这个例子:

interface Counter {
(start: number): string;
interval: number;
reset(): void;
}

var c: Counter;
c(10);
c.reset();
c.interval = 5.0;

但是当我尝试执行 c(10); 或设置 c.interval = 5.0 时,我得到一个错误 -无法设置未定义的属性“间隔”

我知道我能做到:

var c: Counter;
c = function(s: number){
return "'" + s + "'";
}

缺少什么 -(或者这是一个不完整的示例)?

更新:

There is a similar question - 虽然回答了这个问题,但我仍然觉得这个例子很复杂。

最佳答案

要完成 Typescript 手册中的示例:

interface Counter {
(start: number): string;
interval: number;
reset(): void;
}

function createCounter():Counter{
var counter = <Counter>function(start:number){};
counter.interval = 123;
counter.reset = function(){};
return counter;
}

createCounter()(10);
createCounter().reset();

var getCounter = createCounter();
getCounter(10);
getCounter.reset();

关于javascript - Typescript - 混合类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30270187/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com