2016-07-15 12 views

答えて

3

これはdestructuringの例です。

let items = (state: any = [], {type, payload}) => { 

}; 

活字体playground上にコンパイル:

あなたはこれが何を見ることができます

var items = function (state, _a) { 
    if (state === void 0) { state = []; } 
    var type = _a.type, payload = _a.payload; 
}; 

そして、私はそれが関数の2番目のパラメータがなることを意味していることを推測できることから

"type"と呼ばれるプロパティを持つオブジェクト、 "payload"という別のプロパティです。さらに、私が直接私の関数本体の「タイプ」と「ペイロード」を参照してくださいすることができます:ちょうど付録として

let items = (state: any = [], {type, payload}) => { 
    console.log(type); 
    console.log(payload); 
}; 

let myobj = { 
    payload: "blue", 
    type: "no-type" 
} 

items(null, myobj); 
+3

、これはES6仕様の一部ではなくTSに固有のものです。 参照:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Destructuring_assignment – jthereliable

+0

@jthereliableありがとうございました! – Seamus

関連する問題