赞
踩
本文首发自「慕课网」(www.imooc.com),想了解更多IT干货内容,程序员圈内热闻,欢迎关注"慕课网"或慕课网公众号!
作者:一飞同学 | 慕课网讲师
近几年,前端技术发展越来越迅速,其中TypeScript更是受到了越来越多的开发者的青睐,在GitHub上搜索star数大于1w的项目,我们可以看到很多知名的开源项目如vscode、angular、ant-design、ionic、deno 等都使用TypeScript开发,连火爆的Vue.js 3.0 也是用TypeScript重构,尤大大都忍不住发出了 “真香” 的言论。
TypeScript的火爆程度大有成为下一代前端开发语言的趋势,TypeScript作为JavaScript语言的超集,它为JavaScript添加了可选择的类型标注,大大增强了代码的可读性和可维护性。同时,它提供最新和不断发展的JavaScript特性,能让我们建立更健壮的组件。
越来越多的轮子将用TypeScript开发和重构,我们如果想造轮子,也应该使用TypeScript这把利器。今天我们通过一篇文章快速了解下TypeScript。
官方定义:
TypeScript is a typed superset of JavaScript that compiles to plain JavaScript.
Any browser. Any host. Any OS. Open source.
从以上特性中可以看到,TypeScript 与 JavaScript 、ECMAScript 有着非常深入的联系。在详细介绍 TypeScript 之前,先来简单了解一下 ECMAScript 与 JavaScript的发展。
ECMA International
: 一个制定技术标准的组织。
ECMA-262
:由 ECMA International 发布。它包含了脚本语言的标准。
ECMAScript
: 由 ECMA International 以 ECMA-262 和 ECMA-402 规范的形式进行标准化的。
JavaScript
: 通用脚本编程语言,它遵循了 ECMAScript 标准。 换句话说,JavaScript 是 ECMAScript 的方言。
通过阅读 ECMAScript 标准,你可以学会怎样实现一个脚本语言;而通过阅读 JavaScript 文档,你可以学会怎样使用脚本语言编程。
2019年6月,ECMA-262 第10版定义了 ECMAScript 2019 通用编程语言。
说 JavaScript 的版本,实际上就是说它实现了 ECMAScript 标准的哪个版本
我已经熟练使用 JavaScript,为什么要用 TypeScript 呢?
回答这个问题前,先来看看下面这些 JavaScript 中的常见错误:
仔细看下不难发现,这些错误大都是一些比较初级的类型错误。
JavaScript 只会在 运行时
才去做数据类型检查,而 TypeScript 作为静态类型语言,其数据类型是在 编译期间
确定的,编写代码的时候要明确变量的数据类型。使用 TypeScript 后,这些低级错误将不再发生。
我们学习一门新技术会关心它的生命力问题,如果这门技术在较短时间内就要被淘汰,那花费大量的时间学习也是不划算的。TypeScript 能够保持长久生命力的另一个原因,就是统治前端的三大框架对 TypeScript 的支持。
从国内的氛围来看,由前端三大框架引领的 TypeScript 热潮已经涌来,很多招聘要求上也都有了 TypeScript 的身影。
TypeScript 虽然严谨,但没有丧失 JavaScript 的灵活性,TypeScript 非常包容:
tsconfig.json
来配置对类型的检查严格程度。.js
文件直接重命名为 .ts
。any
来实现兼容任意类型。这里先简单介绍下 any 类型,后续会详细讲解。比如一个 string 类型,在赋值过程中类型是不允许改变的:
- let brand: string = 'imooc'
- brand = 1 // Type '1' is not assignable to type 'string'.ts(2322)
如果是 any
类型,则允许被赋值为任意类型,这样就跟我们平时写 JavaScript 一样了:
- let brand: any = 'imooc'
- brand = 1
基于上面这些特点,一个熟悉 JavaScript 的工程师,在查阅一些 TypeScript 语法后,即可快速上手 TypeScript,加油!
本文主要介绍了:
欢迎关注「慕课网」帐号,我们会一直坚持内容原创,提供IT圈优质内容,分享干货知识,大家一起共同成长吧!
本文原创发布于慕课网 ,转载请注明出处,谢谢合作
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。