静态类型
why
针对解决问题一: JavaScript属于动态类型. 编译器不知道变量类型, 运行时才确定类型. 类型错误抛出异常发生在运行时. => 类型推断, 类型操作错误在编译期报错. 针对解决问题二: JavaScript属于弱类型. 容忍隐式类型转换. => 类型转换显示. 隐式转换在编译期提示.
方案目标
- 设计目标
- IDE集成
- type-check速度
- 自动完成
- 意思表达
- 类型安全
- during call-time是否可以specifying泛型参数
- 类型定义时是否可以specifying泛型参数
- typings for 公共库
- 扩展运算符类型
- userland 插件
- programmatic hooking
- 文档资源
- 错误质量
- 透明度