TypeScript的类型系统是图灵完备的,相较于其他强类型语言非常灵活。我猜测是因为JavaScript是动态语言的关系,TypeScript的设计是在加入类型检测的同时兼容JavaScript本身的灵活性。
不知道事实是否如此,有没有老哥给讲讲
TypeScript的类型系统是图灵完备的,相较于其他强类型语言非常灵活。我猜测是因为JavaScript是动态语言的关系,TypeScript的设计是在加入类型检测的同时兼容JavaScript本身的灵活性。
不知道事实是否如此,有没有老哥给讲讲
10 回答11.7k 阅读
2 回答3.2k 阅读✓ 已解决
4 回答2.2k 阅读✓ 已解决
3 回答1.2k 阅读✓ 已解决
3 回答871 阅读✓ 已解决
3 回答1k 阅读✓ 已解决
2 回答1.2k 阅读✓ 已解决
为何要想得这么复杂,只是因为 js 是弱类语言,且是动态编译的,当出现类型错误时需要运行到出错的地方才知道,这就让程序的健壮性大打折扣,ts 的出现核心目的是补充 js 在这块上的短板,提供静态的类型检查,变相地将 js 推向类似于强类型语言的静态编译开发,在大型项目、多人协同项目上具有明显优势,其实本质还是一个时间空间取舍问题。
而强类型语言是非动态编译,并不存在 js 这样的短板,换而言之就是并不需要 ts 这样的东西,因为它自身就有了,反而是很多强类型语言希望能在开发上获得更强的灵活性,而引入诸如动态类型推断的机制(例如 Java 的 var),但其仍然是静态编译的,类型错误依然是在编辑阶段就可以发现。