编程语言 TypeScript
在最开始的时候,个人对于 TypeScript ,是带有一些偏见的,认为 TypeScript 仅仅是类似于 JSLint、JSHilt 之类做一些源代码扫描,在 ECMA 定义上做一些更为严格的代码检测的工具。 后在一次公司的技术分享会中,让我改变了对 TypeScript 的认知,让我认同了 TypeScript 是一门编程语言,也让我对编程语言的定义有了更丰满的认知。
TypeScript is a typed superset of JavaScript that compiles to plain JavaScript.(TypeScript 是 JavaScript 类型的超集,它可以编译成纯 JavaScript)
我们可以理解为 TypeScript 是 JavaScript 的强类型版本,具有类型系统。TypeScript 不能在 NodeJS 或浏览器中直接运行,需要编译成为 JavaScript 后运行。
上文说到 TypeScript 是一门编程语言,编程语言本质上是为了解决两个问题:
- 如何表示信息
- 如何处理信息
JavaScript 最初作为动态类型、弱类型脚本(设计初衷),发展到如今可以提供后端业务服务,乃至于日益火爆的全栈,但在进行大型项目的开发中,灵活多变的弱类型优势与业务严谨性对比显现的有些力所不逮、缺乏命名空间管理导致模块化困难,于是 TypeScript 应运而生。
TypeScript 的精髓在于 “Type” ,它让我们的代码增加了类、静态类型、模块、接口、装饰器等来描述业务实体、数据,通过强类型约束及推导机制来保证编码时期的代码正确。而 JSLint、 JSHint 之类,它们是对代码风格的检查约束工具,两者意义不同
与 JavaScript 的差异
个人总结 TypeScript 与 JavaScript 的差异主要有以下几点
- “Type” 的引入,静态类型检查
- 设计良好的类型等于注释
- 命名空间的模块化实现
- 更为强健的大型项目构建能力(团队多人协作)
以上,是个人对 TypeScript 的理解
拜~
