【问题标题】:Private functions in TypescriptTypescript 中的私有函数
【发布时间】:2025-12-24 03:10:16
【问题描述】:

请注意,我已经检查了this question,但它的答案似乎不正确。

如果我想在常规 JavaScript 中使用私有方法(答案表明这是不可能的),我会这样做:

功能我的东西(){ var thingConstructor = 函数(someParam){ this.publicFn(foo) { 返回私有Fn(foo); } 函数私有Fn(foo){ return ' 称为 private fn with ' + foo; } } } var theThing = new myThing('param'); var result = theThing.publicFn('Hi');//应该是'叫私有fn with Hi' 结果 = theThing.privateFn; //应该错误

我试图弄清楚在 TypeScript 中封装私有函数的语法是什么。如果事实证明你不能,那很好,但鉴于那个旧问题中的答案错误地指出你不能在普通 JavaScript 中创建私有方法,我不愿意将这些答案视为权威。

【问题讨论】:

    标签: typescript2.0


    【解决方案1】:

    所以,事实证明它就像将方法标记为私有一样简单。我缺少的是能够使用该方法是您需要使用 this 关键字。

    所以

    导出类 myThing { 构造函数(){} 公共Fn(foo){ 返回 this.privateFn(foo); } 私人私人Fn(富){ return ' 称为 private fn with ' + foo; } }

    【讨论】: