Skip to content

ts 入门

鸭子类型

程序设计可以分为静态类型(编译时检查)和动态类型(运行时检查),而鸭子类型是静态类型的一种风格。关注的是属性和方法 的集合,而不是继承特定的类和实现特定的接口。

动态类型的编程语言只能依赖文档清晰的代码测试来确保正常使用,代码的执行结果只有在运行之后才可以明确知道。

在ts中判断两个类型是否相同是根据它们的结构,如果结构相同便认为它们是同一类型。

例如:

如果一只鸟可以通过鸭子测试:当看到一只鸟走起来像鸭子、游泳起来像鸭子、叫起来也像鸭子,那么这只鸟就可以被称为鸭子。

类型擦除

ts编译之后的产物是不包含类型声明的,因为ES6并不支持类型声明,而且浏览器也无法直接运行ts的代码

自动推断

ts的推断变量的类型是通过变量的值

降级

ts编译产物的默认target是ES3,目的是为了更好的兼容性,当然也可以通过--target ES2015指定编译产物对应的ES版本