TypeScript 很流行,这是前端从业者众所周知的事。
TypeScript 很好用,仁者见仁智者见智。但是,很多大型前端框架都使用 TypeScript 进行了重构。
为了不落伍,我也需要系统的学习一下 TypeScript 相关知识了,今天是第一课。
TypeScript 是由微软开发的自由和开源的编程语言。通过在 JavaScript的 基础上添加静态类型定义构建而成。TypeScript 通过 TypeScript 编译器或 Babel 转译为 JavaScript 代码,可运行在任何浏览器,任何操作系统。
TypeScript 可以编译出纯净、 简洁的 JavaScript 代码,并且可以运行在任何浏览器上、Node.js 环境中和任何支持 ECMAScript 3(或更高版本)的 JavaScript 引擎中。
TypeScript 有更多的规则和类型限制,代码具有更高的预测性、可控性,易于维护和调试;对模块、命名空间和面向对象的支持,更容易组织代码开发大型复杂程序。
TypeScript 的编译步骤可以捕获运行之前的错误。
从上面的概念和意义部分可以看出,TypeScript 的特征比较多,这里我们就几个主要特性进行分析。
我们都知道,JavaScript是一门解释型语言,没有编译阶段,它只有在运行时才会进行类型检查。
而 TypeScript 与它相反,因为 TypeScript 在运行前还要经过被编译成 JavaScript 的过程,它在编译阶段就就能确定每个变量的类型,这种语言的类型错误往往会导致语法错误。
比如,在 JavaScript 中:
let foo = 1;
foo.split(' ');
// Uncaught TypeError: foo.split is not a function
// 运行时会报错(foo.split 不是一个函数),造成线上 bug
而在 TypeScript 中:
let foo = 1;
foo.split(' ');
// Property 'split' does not exist on type 'number'.
// 编译时会报错(数字没有 split 方法),无法通过编译
在这一点上,TypeScript 和 JavaScript 的表现是一致的,具体是指数据类型可以发生隐式转换 ,看以下一段代码:
console.log("1" + 1);
// // 打印出字符串 '11'
不管是在 TypeScript 中还是 JavaScript 中,输出结果都是一样的。
npm install -g typescript
今天就主要认识一下 TypeScript,知道它是什么、有什么用,接下来就要学习它该怎么样了。
~
~ 本文完,感谢阅读!
~
学习有趣的知识,结识有趣的朋友,塑造有趣的灵魂!