这是我参与「第五届青训营 」伴学笔记创作活动的第4天,ts本质上是js的超集,js的语法在ts里面完全适用,是一个类型化的js,ts是静态语言,需要先编译成js再执行。在定义变量时需要给变量添加类型约束,降低了发生错误的可能性let str:string= "Demo",他更具有灵活性,兼容性强,可以支持任何浏览器和操作系统运行,并不需要浏览器的支持,通过运行node app.js运行即可,在ts中的报错在编译时就能发现,不会直接显示到用户界面。函数类型也是需要声明类型的。
function demo():string {
return 'demo'
};
在Vue中结合ts的使用是一个比较大的发展趋势,特别是中大型项目中的用处更加广泛,要先在webpack中配置文件,由于ts是不知次vue的文件,所以要先在vue中创建vue-shim.d.ts文件,放在根目录下,在script中标注lang="ts"声明当前语言是ts。
any类型就是任意的,设置了any就是取消了类型的限制,在函数中是不挑类型的,也可以使用any避免书写过长,由于ts本来就是类型化的script,所以尽量避免使用any,那就相当于这个变量没有使用ts。
ts新增了几种类型:
- 联合类型,两个或多个其他类型组成的类型,使用 | 表示
- 自定义类型,例如
type Demo = string | number - 接口,一个对象类型被多次使用时
- 元组,它约定了元素的个数,约定了特定索引对应的数据类型
- 字面量类型,例如const定义的常量不能变化,他的类型就是他的内容
- void,函数返回值类型
- 枚举,该值只能是一组命名常量中的一个
ts的功能在进一步完善,它的生产效率会有所提升,给开发人员带来一些便利,它的学习成本也不是那么高,vue3+ts的开发构建会占大部分,学习必不可少。