dotNET跨平台 今天
JavaScript 从移动终端到后端服务,从 IoT 到神经网络几乎无处不在,它对变量的类型非常宽容,也不会在变量与调用者之间建立结构化的契约。但若开发长期处于没有类型约束的环境下,也会造成“类型思维”的缺失,带来很多不良的编程习惯。幸运的是,TypeScript 的出现很好地弥补了 JavaScript 在静态类型检查方面的缺陷。它为 JavaScript 提供了良好的类型检查支持,而且能够编译成标准的 JavaScript。用了一段时间的 typescript 之后,深感中大型项目中 typescript 的必要性,它能够提前在编译期避免许多 bug,如很恶心的拼写问题。
而越来越多的 package 也开始使用 ts,学习 ts 已是势在必行。
那么,TypeScript 究竟有哪些特性使得它成为大家的”刚需“?第一,类型检查。TypeScript 会在编译代码时进行严格的静态类型检查,这意味着你可以在编码阶段发现可能存在的隐患,而不必把它们带到线上。第二,语言扩展。TypeScript 会包括来自 ES 6 和未来提案中的特性,比如异步操作和装饰器;也会从其他语言借鉴某些特性,比如接口和抽象类。第三,工具属性。TypeScript 能够编译成标准的 JavaScript,可以在任何浏览器、操作系统上运行,无需任何运行时的额外开销。从这个角度上讲,TypeScript 更像是一个工具,而不是一门独立的语言。除此之外,TypeScript 还可以帮助团队重塑“类型思维”,接口提供方将被迫去思考 API 的边界,他们将从代码的编写者蜕变为代码的设计者。TypeScript 如今已经是 4.0+ 的版本了,功能十分强大完善,但很多同学在后台留言和我 “哀嚎”,常出现以下问题,比如:
初次接触 TypeScript,很多概念和规则理解起来很难,比如接口、泛型、各种高级类型以及类型兼容性规则等等,到底怎么学才能快速上手?
TypeScript 工程如何配置?尤其是 tsconfig.json 配置项很多,怎么才能梳理清楚?
TypeScript 如何与现有开发生态如何结合?如何从 JavaScript 过渡到 TypeScript?与主流开发框架的结合实践有哪些?各类构建工具如何集成?
这里,分享一张我私藏的宝藏级 TypeScript 知识框架图,基本上列举了所有 TypeScript 相关知识点,按图谱逐个击破,彻底掌握 TypeScript 问题不大。内容涵盖 TypeScript 的语法基础、工程配置以及四大典型前端应用的开发实战,能帮助大家高效学习 TypeScript,节省很多找无效资料的时间。这张图谱的内容出自极客时间的视频课程《TypeScript 开发实战》,作者是梁宵,他会为你详细解读 TypeScript 的每个特性,能解决什么问题?与 JavaScript 的区别在哪里?一步步带你重塑“类型思维”,让你最终能够熟练使用 TypeScript 进行实际项目的开发。
所以,那会儿得知他推出了个 TypeScript 视频课,我第一时间就订阅了,基本上是追着看完的,一集不落。内容含金量非常高,梁宵老师人也很 nice。
在课程里,他结合自己多年 TypeScript 研发经验,在你脑中播下“类型思维”的种子。因为思维方式决定了编程习惯,编程习惯奠定了工程质量,工程质量划定了能力边界。面对越来越复杂的前端应用,TypeScript 所提供的思维方法,能够让你在未来的开发中长期受益。
作者梁宵,目前在搜狗营销事业部担任高级架构师,负责广告和运营平台业务,主导相关 UI 框架及可视化工具的研发,同时具有丰富的企业级中后台开发经验。