2016-08-09 12 views
1

typescriptクラスでは、セッターメソッドとクラスプロパティの両方に同じ名前を使用する方法がありますか?これにより、値の設定と値の一貫性が向上します。例:あなたがして行うとセッターメソッドとクラスプロパティの両方に同じ名前を使用する方法はありますか?

var MyClass = (function() { 
    function MyClass() { 
     this.myValue = "string"; 
    } 
    MyClass.prototype.myValue = function (inArg) { 
     alert("inArg: " + inArg); 
    }; 
    return MyClass; 
}()); 

let obj = new MyClass(); 

あなたはのインスタンスを作成

myClass.myValue = "Hello"; //Setter. 
var myValue = myClass.myValue; //Getter. 

class myClass { 
    myValue: string; 

    myValue(inArg: string) { 
     alert("inArg: " + inArg); 
    } 
} 

答えて

1

ありませんが、それはクラスがJavaScriptで作成されたどのように関係していますmyValueメソッドを含むプロトタイプに存在するすべてのものを持つクラスですが、コンストラクタではmyValueという文字列をオーバーライドします。

それは、これを行うに似ています:

class MyClass { 
    myValue(inArg: string) { 
     alert("inArg: " + inArg); 
    } 
} 

let obj = new MyClass(); 
obj.myValue = "a string"; 

あなたの例では、それはすべてのインスタンス理由のためにそれを行うだろう一方、この例では、あなたが、MyClassmyValueだけのためobjではなく、他のインスタンスを無効にすることを唯一の違いそれはコンストラクタにあります。

+0

私はこの作業を他のライブラリで見ていました。それらはjavascriptで書かれていてはいけません。 – Lambert

+0

あなたはそのような図書館の1つの方向に私を向けることができますか? –

+0

ここにはjavascriptライブラリがあります。https://developers.arcgis.com/javascript/ – Lambert

関連する問題