2016-12-20 10 views
1

私は既にthis questionをチェックアウトしていますが、その回答は正しいとは限りません。私は、構文が何であるかを把握しようとしているTypescriptのプライベート関数

 
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 

:私は(答えが不可能であることを示唆している)の正規JavaScriptでプライベートメソッドを持っていると思った場合は

することは、私はこのような何かをしたいですプライベート関数をTypeScriptにカプセル化します。それができないと判明した場合、それは問題ありませんが、古い質問の回答では、通常のJavaScriptでプライベートメソッドを作成できないという誤った記述があるため、これらの回答を正式なものとして取り上げることはしません。

答えて

0

このように、メソッドをprivateにマークするのと同じくらい簡単です。私が見逃していたのは、thisというキーワードを使用する必要があるため、このメソッドを使用できることです。

ので

 
export class myThing { 
    constructor(){} 
    publicFn(foo) { 
     return this.privateFn(foo); 
    } 
    private privateFn(foo) { 
     return 'called private fn with ' + foo; 
    } 
} 
関連する問題