我想在TypeScript类中有一个变量,类型为“boolean isVisible()”。
ps - 这似乎是如此基本,但是10分钟的搜索,我找不到它。
答案 0 :(得分:6)
function boolfn() { return true; }
function strfn() { return 'hello world'; }
var x: () => boolean;
x = strfn; // Not OK
x = boolfn; // OK
var y = x(); // y: boolean
答案 1 :(得分:1)
这是实现目标的一种方式,但我很乐意与您合作,弄清楚您想要实现的目标。
export module Sayings {
export class Greeter {
isVisible(): boolean {
return true;
}
}
}
var greeter = new Sayings.Greeter();
var visible = greeter.isVisible();
您也可以使用属性而不是函数。你原来的问题谈论的是一个“变量”和一个“函数”,好像它们是同一个东西,但事实并非如此。
export module Sayings {
export class Greeter {
isVisible: boolean = false;
}
}
var greeter = new Sayings.Greeter();
var visible = greeter.isVisible;
greeter.isVisible = true;
或者这样的事可能吗?
export module Sayings {
export class Greeter {
constructor(public isVisible: () => boolean) {
}
}
}
var someFunc = () => {
return false;
}
var greeter = new Sayings.Greeter(someFunc);
var visible = greeter.isVisible();