TypeScript那么灵活,好像没看到其他强类型语言有这样的类型系统

TypeScript的类型系统是图灵完备的,相较于其他强类型语言非常灵活。我猜测是因为JavaScript是动态语言的关系,TypeScript的设计是在加入类型检测的同时兼容JavaScript本身的灵活性。

不知道事实是否如此,有没有老哥给讲讲

阅读 1.3k
1 个回答

为何要想得这么复杂,只是因为 js 是弱类语言,且是动态编译的,当出现类型错误时需要运行到出错的地方才知道,这就让程序的健壮性大打折扣,ts 的出现核心目的是补充 js 在这块上的短板,提供静态的类型检查,变相地将 js 推向类似于强类型语言的静态编译开发,在大型项目、多人协同项目上具有明显优势,其实本质还是一个时间空间取舍问题。

而强类型语言是非动态编译,并不存在 js 这样的短板,换而言之就是并不需要 ts 这样的东西,因为它自身就有了,反而是很多强类型语言希望能在开发上获得更强的灵活性,而引入诸如动态类型推断的机制(例如 Java 的 var),但其仍然是静态编译的,类型错误依然是在编辑阶段就可以发现。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题