TypeScript再次学习

在之前的公司一直要求用typescript+cshtml使用,将ts编译成js,在控制台中可以查看指定ts文件进行debug,查看其编译后的js文件
ts是强类型的js超集,可编译纯js,支持js的最新特性

使用中的心得

1.ts支持强类型和静态类型,模块(本地js不支持模块),可选参数功能。
2.可以使用js中没有的class在此基础上可以继承父类,减少代码的重用性。
3.拥有js中没有的void和枚举以及any类型。
4.在编辑器中支持自动完成,类型检查,以及查看源文档
5.支持错误代码提示的机制
6.面向对象编程的概念,比如类、接口、泛型、继承。支持函数重载
7.其创始人是一个c#团队的人,现在版本是3+,支持js的最新特性,其代码风格和规范和c#类似

ts需要编译后才可以在浏览器中使用,编译的时长比较久,平时编译一个项目需要3-4分钟左右,对于第三方js库,需要定义库文件

tsc命令编译ts文件

由语言、编译器、语言服务三个主组件组成

继承:从一个类获取另外一个类属性和行为的机制

模块:创建一组相关变量、函数、类和接口的强大方法。模块中的变量、函数、类、接口不能再模块外部直接访问。

命名空间(内部模块):对功能进行逻辑分组的一种方式。

泛型:一个提供创建可重用组件(处理多种数据类型)方法的工具。

内部模块与外部模块的区别

内部将变量、函数、类、接口放在一个单元中并可以导出到另外一个模块。而外部只显示声明变量相关的方法和参数
外部~在最新ts版本中成为模块

ts装饰器

其他

ts支持嵌入、类型检查、直接将jsx编译为js。但是必须用.tsx扩展名并启用jsx选项。
rest参数用于向函数传递零个或者多个值。须遵守以下规则:一个函数值允许一个rest参数、且是数组类型、是参数列表中最后一个参数

declare关键字

ljlhnick wechat
subscribe to my blog by scanning my public wechat account
Donate comment here