Function 类型化函数的TypeScript变量

Function 类型化函数的TypeScript变量,function,typescript,Function,Typescript,我希望在类型为“boolean isVisible()”的TypeScript类中有一个变量 如何申报 如何将另一个实例化对象的此函数分配给此变量 如何调用此函数 ps-这看起来很基本,但10分钟的搜索时间我找不到它。这里有一种方法,不过我很乐意与您一起找出您想要实现的目标 export module Sayings { export class Greeter { isVisible(): boolean { return true;

我希望在类型为“boolean isVisible()”的TypeScript类中有一个变量

  • 如何申报
  • 如何将另一个实例化对象的此函数分配给此变量
  • 如何调用此函数

  • ps-这看起来很基本,但10分钟的搜索时间我找不到它。

    这里有一种方法,不过我很乐意与您一起找出您想要实现的目标

    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();
    

    您希望从何处调用函数?分配函数后,我希望能够调用“var isV=myObj.func()”-或者以任何方式调用该函数。抱歉,否。该函数在类中不存在。只是一个保存函数地址的变量。所以isVisible是一个变量。这个函数来自哪里?
    function boolfn() { return true; }
    function strfn() { return 'hello world'; }
    
    var x: () => boolean;
    x = strfn; // Not OK
    x = boolfn; // OK
    
    var y = x(); // y: boolean