Typescript学习之路(1) - 初识
学习前端的都了解JavaScript是一种动态弱类型语言,其带来便利性的同时也带来很多由“弱类型”语言带来的问题。比如去年bilibili宕机无法访问的问题在历经一年后终于向外暴露了出现问题的始末和解决的办法,其部分原因就是有“弱语言”类型导致的。简述原因就是本来b应该传数字 0,结果传成'0',导致 if b==0 false, 一直进入gcd回调,cpu 打满,导致了分分钟上了热搜😑。
出了这么大的事,那弱类型语言还敢用么? 要抛弃他吗?答案肯定是否定的。因为Typescript来了,他带着万众瞩目的类型约束、类型推断等等一大波可以直接给JavaScript使用的静态类型检查功能、语言扩展功能走来了。那么,什么是 TypeScript,下面是选自极客时间梁宵老师的一段话:
根据官方的定义,它是拥有类型系统的 JavaScript 的超集,可以编译成纯 JavaScript。这里,你要注意三个要点:
第一,类型检查:TypeScript 会在编译代码时进行严格的静态类型检查,这意味着你可以在编码阶段发现可能存在的隐患,而不必把它们带到线上。
第二,语言扩展:TypeScript 会包括来自 ECMAScript 6 和未来提案中的特性,比如异步操作和装饰器;也会从其他语言借鉴某些特性,比如接口和抽象类。
第三,工具属性:TypeScript 能够编译成标准的 JavaScript,可以在任何浏览器、操作系统上运行,无需任何运行时的额外开销。从这个角度上讲,TypeScript 更像是一个工具,而不是一门独立的语言。
TypeScript 是 JavaScript 的超集,扩展了 JavaScript 的语法,因此现有的 JavaScript 代码可与 TypeScript 一起工作无需任何修改,TypeScript 通过类型注解提供编译时的静态类型检查。最近的一个项目中引入了TS,但是因为对TS的不熟悉,仅仅停留在入门阶段,没有深入的使用。
时至今日,React 、Vue也要加入 TypeScript 的阵营,因此我们不得不去学好 TypeScript。Typescript闻名依旧,我也会在未来的一段时间内和大家一起分享我学习TS的过程和支持,有有什么意见建议大家可以积极交流~