Typescript将自我返回一些函数?

我正在寻找一种方法来创建一个功能,创建2个其他功能作为自我功能。Typescript将自我返回一些函数?

var anyVariable = createMeFunc(); 

public createMeFunc(): string {

var setFunc = (value: any) => {

console.log("set function");

}

var getFunc =(): string => {

console.log("get function");

return "returnVal";

}

return setFunc, getFunc;

}

anyVariable("someValue"); //calls setFunc

anyVariable(); //calls getFunc, returns "returnVal"

这只是一个例子,如果有什么不清楚,我很高兴为您的反馈。

回答:

非ES5的解决办法是这样的:

interface Foo { 

(): any;

(value: any): void;

}

function createFoo(): Foo {

var getFunc =() => { console.log("get"); return "foo"; }

var setFunc = (value: any) => { console.log("set"); }

return (value?: any) => {

if (typeof value === 'undefined') {

setFunc(value);

} else {

return getFunc();

}

}

}

var f = createFoo();

f("bar");

f();

回答:

如果你正在寻找的EcmaScript 5 getter和setter方法:

var foo = new Foo(); 

class Foo{

get anyVariable():string{

console.log("get function");

return "returnVal";

}

set anyVariable(string){

console.log("set function");

}

}

foo.anyVariable="someValue"; //calls setFunc

var x = foo.anyVariable; //calls getFunc, returns "returnVal"

See it in typescript playground

以上是 Typescript将自我返回一些函数? 的全部内容, 来源链接: utcz.com/qa/264441.html

回到顶部