我正在编写一个大型的TypeScript类,我将noImplicitAny设置为true.有没有办法在同一行上声明相同类型的多个变量?
我想将x和y声明为数字,例如"x,y:number".但是编译器不喜欢那个或者我尝试过的任何其他东西.有没有更好的替代"x:number; y:number"?
Rya*_*ugh 54
没有任何语法能够以更好的方式完成此任务,而不仅仅是编写类型两次.
这个怎么样?将数组解构与 Typescript 的数组类型一起使用。
let [x,y]: number[]
Run Code Online (Sandbox Code Playgroud)
但是请注意,如果您不打开迂腐的索引签名检查,此功能是不安全的。例如,下面的代码不会有编译错误,即使它应该:
let [x, y]: number[] = [1]
console.log(x.toString()) // No problem
console.log(y.toString()) // No compile error, but boom during runtime
Run Code Online (Sandbox Code Playgroud)
即使您执行以下操作,也只需添加:
let notes, signatureTypeName: string;
Run Code Online (Sandbox Code Playgroud)
它仍然不起作用。在这种情况下,notes 声明为 any 类型,signatureTypeName 声明为 string 类型。您可以通过简单地将鼠标悬停在变量上来验证所有这些,例如在 Visual Studio Code 中。声明的类型随后出现在弹出窗口中。
| 归档时间: |
|
| 查看次数: |
25272 次 |
| 最近记录: |