- Learn React with TypeScript 3
- Carl Rippon
- 225字
- 2021-06-10 19:16:42
Spread expressions
TypeScript 3 allows us to use tuples with spread expressions.
Let's look at an example:
- Let's go back to the problematic pure JavaScript example we looked at for using the spread syntax:
function logScore(score1, score2, score3) {
console.log(score1 + ", " + score2 + ", " + score3);
}
const scores = [75, 65, 80];
logScore(...scores);
The TypeScript compiler raised the error Expected 3 arguments, but got 0 or more.
- Let's resolve this now with enhanced tuples in TypeScript 3. We'll start by adding types to the function parameters:
function logScore(score1: number, score2: number, score3: number) {
console.log(score1, score2, score3);
}
There's nothing new yet, and we're still getting the compilation error.
- Let's change the scores variable into a fixed tuple:
const scores: [number, number, number] = [75, 65, 80];
That's it – the compilation error has gone! All we needed to do was tell the compiler how many items were in scores for it to successfully spread into the logScore function.
So, in TypeScript 3, we can spread into fixed tuples. What about open-ended tuples? Let's give that a try:
const scoresUnlimited: [...number[]] = [75, 65, 80];
logScore(...scoresUnlimited);
Unfortunately, the compiler is not yet quite clever enough to let us do this. We get the compilation error Expected 3 arguments, but got 0 or more.:
推薦閱讀
- 數據科學實戰手冊(R+Python)
- 數據庫系統教程(第2版)
- OpenDaylight Cookbook
- 編寫整潔的Python代碼(第2版)
- YARN Essentials
- 深度強化學習算法與實踐:基于PyTorch的實現
- 深入分布式緩存:從原理到實踐
- Haskell Data Analysis Cookbook
- IBM Cognos Business Intelligence 10.1 Dashboarding cookbook
- Qlik Sense? Cookbook
- C編程技巧:117個問題解決方案示例
- UML基礎與Rose建模實用教程(第三版)
- 你也能看得懂的Python算法書
- 嵌入式Linux與物聯網軟件開發:C語言內核深度解析
- ArcGIS Blueprints