请注意,我已经检出this question,但答案似乎不正确。
如果我想在常规JavaScript中使用私有方法(答案建议不可能),我会做这样的事情:
function myThing() { var thingConstructor = function(someParam) { this.publicFn(foo) { return privateFn(foo); } function privateFn(foo) { return 'called private fn with ' + foo; } } } var theThing = new myThing('param'); var result = theThing.publicFn('Hi');//should be 'called private fn with Hi' result = theThing.privateFn; //should error
我试图弄清楚在TypeScript中封装私有函数的语法是什么。如果事实证明你没有问题,那很好,但考虑到旧问题中的答案错误地表明你无法在普通的JavaScript中创建私有方法,我不愿意接受那些作为权威的答案。
答案 0 :(得分:0)
因此,事实证明它就像将方法标记为私有一样简单。我缺少的是能够使用该方法,您需要使用this
关键字。
所以
export class myThing { constructor(){} publicFn(foo) { return this.privateFn(foo); } private privateFn(foo) { return 'called private fn with ' + foo; } }