2016-03-26 8 views
1

TypeScriptの構造解除機能が検出されていますが、時間節約のようです。しかし、私は、どのように私は関数に渡されるインスタンスを参照することができます不思議に思っています。以下の例:構造が破棄されるときにアクセスインスタンスが渡される

function fn({foo, bar}) { 
    // access the A instance passed to function? 
} 
class A { 
    constructor(public foo: number, public bar: number) {}; 
} 
fn(new A(1,9)); 

私は本当に議論のリストを見なければならないのですか、何か不足していますか?

答えて

2

あなたはメソッド内な破壊を使用していないパラメータとして、あなたはそれがどのように動作するかのアイデアを持って、それということができますので、両方の世界

function fn(a: A){ 
var {foo, bar} = a; 
} 

class A{ 
    foo:number; 
    bar:number; 
} 

fn(new A()); 

は、それがtranspiles何のためにhereを見て楽しむことができます魔法ではありません。 Typescriptのデストラクチャリングのためのdocumentationはここにあります

+0

まあ、アイデアはa.fooを避けることでした - 私はこのソリューションがどのように破壊を利用するのか見ていませんか? – Peter

+0

私は答えを編集しました、これがあなたの望むものであることを願っています –

+0

私の問題は、デフォルトのパラメータ値を許可しないということです。誰もが両方持っている方法を知っていますか? –

1

たぶん、一度後にデストラクションを行うべきですか?

function fn(a: A) 
{ 
    let {foo, bar} = a; 
    //You have both destruted foo, bar and original a 
} 
関連する問題