前言了解了TypeScript中的基本类型,接下来当然是变量声明的相关学习了。声明一个多维数组如果有这样的语句:letarr3:number[][][];如果想知道arr3的具体类型,分析步骤如下:可以看到类型反汇编是从右到左,对应具体的变量值从外到内逐层反汇编.这里只是举个例子,稍有经验的人一眼就能看出arr3是一个三维数组。但是,授人以鱼不如授人以渔。这种分析方法适用于大多数复杂数据类型的分析。属性重命名在ES6解构赋值后,我们可以这样声明变量:letpersonInfo1={name:"ProgrammingSamadhi",age:22}let{name:nameP,age:ageP}=personInfo1;上面的代码声明了nameP和ageP两个变量。需要注意的是,在变量声明中,冒号后跟的不是数据类型,而是新声明的变量,用来替代原有对象的属性值。如果要在TypeScript中指定nameP和ageP的数据类型,需要这样写:let{name:nameP,age:ageP}:{name:string;年龄:数字}=personInfo1;其实这个类型规范可以放在对象声明中,指定对象的每个属性值的类型:letpersonInfo1:{name:string;age:number}={name:"ProgrammingSamadhi",age:22};personInfo1.name=12;//错误不能使用类型“number”分配给类型“string”//let{name:nameP,age:ageP}=personInfo1;let{name:nameP,age:ageP}=personInfo1;nameP=12;//Errorcannotassigntype"number"Temporarydeadzoneassignmenttotype"string"let和const以下代码在TypeScript中不会抛出错误,但在实践中会抛出错误。functionfoo():number{returna1;}foo();leta1:number=12;实际运行报错:我自己的理解是:静态编译只负责检查数据类型是否正确,而动态运行时只会检测语法逻辑错误,恰好临时死区只是在运行时产生。总结以上是我在学习TypeScript变量声明时记录的注意事项和总结。~~本文到此结束,感谢阅读!~学习有趣的知识,认识有趣的朋友,塑造有趣的灵魂!大家好,我是〖编程三昧〗的作者王隐,我的公众号是《编程三昧》,欢迎关注,希望大家多多指教!
