ts 入门
鸭子类型
程序设计可以分为静态类型(编译时检查)和动态类型(运行时检查),而鸭子类型是静态类型的一种风格。关注的是属性和方法
的集合,而不是继承特定的类和实现特定的接口。
动态类型的编程语言只能依赖文档
、清晰的代码
和测试
来确保正常使用,代码的执行结果只有在运行之后才可以明确知道。
在ts中判断两个类型是否相同是根据它们的结构,如果结构相同便认为它们是同一类型。
例如:
如果一只鸟可以通过鸭子测试:当看到一只鸟走起来像鸭子、游泳起来像鸭子、叫起来也像鸭子,那么这只鸟就可以被称为鸭子。
类型擦除
ts编译之后的产物是不包含类型声明的,因为ES6并不支持类型声明,而且浏览器也无法直接运行ts的代码
自动推断
ts的推断变量的类型是通过变量的值
降级
ts编译产物的默认target是ES3
,目的是为了更好的兼容性,当然也可以通过--target ES2015
指定编译产物对应的ES版本