我知道當您在Typescript中聲明變量時,可以選擇是否指定變量的類型。如果沒有指定類型,則使用默認的「any」類型。有沒有辦法強制所有變量聲明一個類型,即使它可能是「任何」。如在,我想要一個編譯器錯誤,當一個類型沒有指定。這樣程序員就會被迫將所有東西都放到一個類型中,並防止變量被意外地遺留爲「任何」的情況。如何強制Typescript中的所有變量聲明
16
A
回答
17
聲明的變量不一定是TypeScript中的類型,這是不正確的。如有可能,TypeScript編譯器將根據聲明的右側推斷出一種類型。
例如:
var x = 150;
x
將是一個號碼作爲RHS是一個數字。
您可以使用命令行編譯選項趕上聲明,其中類型不能使用--noImplicitAny
推斷:
Warn on expressions and declarations with an implied 'any' type.
此選項會趕上,比如當一個變量d
聲明,尚未分配的情況下,馬上給一個值。
var d;
會產生一個錯誤:
error TS7006: Parameter 'd' of 'test' implicitly has an 'any' type.
編譯器開關還捕捉參數沒有指定類型,並且作爲@basarat在註釋中指出,它也捕捉返回類型和類/接口部件。
還有一點this blog post更多的信息。請注意,還有一個等效的MSBuild /項目設置可用:<TypeScriptNoImplicitAny>
。
1
您還可以設置你的tsconfig.json
:
{
"compilerOptions": {
"noImplicitReturns": true,
"noImplicitAny": true
}
}
相關問題
- 1. Typescript - 變量聲明
- 2. 用於強制顯式聲明所有變量的Cython命令
- 3. 強制顯式變量聲明與gfortran
- 4. 在TypeScript中聲明UInt8Array變量
- 5. 無法用TypeScript聲明全局變量
- 6. 如何選擇在XSL中聲明的所有變量?
- 7. 如何在離子2/Angular2/typescript中聲明多個變量?
- 8. 如何聲明jQuery和Angular 2 Typescript的公共變量
- 9. 聲明多個具有相同類型的TypeScript變量
- 10. 如何從javascript獲取所有未聲明的變量
- 11. 在Typescript中聲明環境變量如果不爲空
- 12. 在APPLICATION中聲明所有常量變量的最佳方法
- 13. 獲取包中聲明的所有變量和常量名稱
- 14. 如何聲明變量
- 15. 如何聲明變量
- 16. 如何聲明變量
- 17. C - 聲明中的未聲明變量
- 18. 強制變量聲明的協議 - 目標C
- 19. 分析/過濾所有變量而不聲明每個變量?
- 20. 如何強制在Maven POM中聲明所有編譯依賴關係?
- 21. PHP:如果聲明變量聲明
- 22. 如何在extjs4.1中的控制器中聲明全局變量?
- 23. 如何在Typescript中聲明NodeJs模塊?
- 24. Typescript - 如何在lib.d.ts中覆蓋聲明
- 25. AmCharts的TypeScript聲明
- 26. VB沒有聲明變量
- 27. 是否可以強制JavaScript在使用前聲明變量?
- 28. 是否可以強制聲明局部變量?
- 29. 變量聲明
- 30. 聲明變量
和返回類型,以及類/接口成員:) – basarat
@basarat - 是啊,完全忘了包括所有的地方。固定。謝謝! – WiredPrairie
完美的工作!謝謝! – Michelle