2016-12-15 65 views

回答

1

在第一個例子中,你已經聲明類型的值,編譯已經知道變量是數字。您只能在對象({} = {})中使用打字稿中的解構賦值語法並在打字稿中聲明,在ES6中您可以不經過聲明。

// let {a, b} = { a: 1, b: 2 } 
var _a = { a: 1, b: 2 }, a = _a.a, b = _a.b; 


//let a: number, b: number; 
//{a, b} = { a: 1, b: 2 } <-- Print error in compilation 
{ 
    a, b; 
} 
{ 
    a: 1, b; 
    2; 
} 


//let a: number, b: number; 
//[a, b] = [1,2] 
_b = [1, 2], a = _b[0], b = _b[1]; 
var _b; 

這是兩個例子中編譯的結果。

相關問題