作者丨Saurabh Barot
Stack Overflow 开发者调查于2018 年启动,揭示了有关各种编程语言、平台、库等的一些常见行业观点。根据这项研究,我们可以看到TypeScript 是比JavaScript 更流行的编程语言。开发人员喜欢使用TypeScript 的原因之一是能够向JavaScript 添加类型。
这允许您在运行代码之前捕获错误。此外,TypeScript 编译器还提供建议来帮助您更好地解决这些错误。
开发人员向JavaScript 添加类型后,还可以利用代码编辑器中的高级功能,例如自动模块导入、代码自动完成和项目范围的重构。
TypeScript 只是基于JavaScript 的一层。 TypeScript 的学习曲线相当陡峭,因此您应该在使用它之前熟悉它的语法,以便更快地上手。
开发人员可以通过将文件扩展名从.js 更改为.ts 轻松将JavaScript 文件转换为TypeScript。所有TypeScript 代码都会编译为JavaScript。
1、什么是 TypeScript?
TypeScript 实际上是一种编程语言。也称为JavaScript 的超集。 JavaScript 的所有功能都在TypeScript 中。它可以用作大规模JavaScript 应用程序的编程语言。
好消息是ECMAScript 的最新版本支持TypeScript。当你编译TypeScript 时,它还会输出一个在所有平台上成功运行的JavaScript 版本。
2、TypeScript 的受欢迎程度
纵观TypeScript 从2016 年到2018 年的演变,我们发现已经使用过TypeScript 并希望继续使用它的用户比例从20.8% 上升到了46.7%。开发人员选择此的主要原因之一是它可以减少错误。
TypeScript 目前变得越来越流行。具体数据如下。
3、TypeScript V/s JavaScript
TypeScript 已经存在好几年了,已经发布了许多新版本,并进行了许多改进。这些改进体现在特性、功能、性能等诸多方面。使用TypeScript 代替JavaScript 的趋势也在增加。要深入了解这种情况,我们需要客观地了解这些技术。
那么我们来比较一下.
JavaScript
如何使用。 JavaScript 是一种遵循客户端编程原则的脚本语言。用于开发交互式网页。这意味着它不需要网络浏览器中的任何内容,并且可以轻松地在用户的网络浏览器上运行。数据绑定。 JavaScript 没有使用接口和类型来描述数据的概念。生态系统。使用JS 编码时不需要构建步骤。学习曲线。 JavaScript 简单且灵活。原型。 JavaScript 不具备原型设计功能。编译代码。您不需要使用TypeScript 编译代码。输入您的注释。 JavaScript 不需要类型注释。打字稿
如何使用。 TypeScript 是一种基于JavaScript 的开发语言。使用它来编写可以在支持ECMAScript 3 或更高版本的浏览器上运行的简单JavaScript 代码。数据绑定。 TypeScript 使用接口和类型来描述数据。生态系统。 TypeScript 具有直观的生态系统。这样您就可以将JavaScript 功能添加到您的项目中。学习曲线。 TypeScript 需要陡峭的学习曲线。原型。 TypeScript 具有原型功能。编译代码。 您需要使用TypeScript 编译代码。输入您的注释。开发人员应该始终对他们的代码进行注释,以便数据能够正确输出。
4、开发者最喜欢的一些 TypeScript 功能
未知顶级类型
TypeScript 3.0 中引入了“未知”类型作为新的“类型安全”类型,对应于“any”类型。区分“未知”和“任意”这两个概念的关键在于“未知”比“任意”宽松得多(“任意”自2012 年起就成为TypeScript 的一部分)。它与“any”非常相似,因为“unknown”可以被赋予任何值,但类型断言在这里很重要,没有它们什么也做不了。此外,无法访问、调用或构造“未知”类型的属性。
数组和元组映射类型
TypeScript 在TypeScript 3.1 中添加了映射对象类型,而不是引入全新的映射元组概念。这正是使用数组和元组的方式。这意味着无论您如何使用现有映射类型(例如强制或部分),您也可以直接使用这些方法来处理数组和元组。通过这种方式,TypeScript 可以很好地与Promise.all 等函数配合使用。
Node.js 包和tsconfig.json 继承
如果您使用的是TypeScript 3.2,则可以从node_modules 解析tsconfig.json。当您尝试访问tsconfig.json 中的“extends”字段时,TypeScript 会在thenode_modules 包中查找。这会在node_modules 文件夹中查找包@my-team/tsconfig-base 。在进一步使用该包之前,TypeScript 会在package.json 中搜索是否存在tsconfig 字段,如果找到,则从该字段中读取配置文件。如果没有找到该字段,则返回tsconfig.json。在处理大型项目时,此步骤非常有用。
不断的断言
TypeScript 3.4 引入了一种新的文字构造,称为const 断言。它的语法是类型断言,当您使用const 断言构造新的文字表达式时,您可以表示对象文字具有只读属性,或者数组具有只读元组。
类型检查全局This
访问全局范围内的值一直是TypeScript 中的一个问题,但这个问题在TypeScript 3.4 中得到了解决,它在ECMAScript 中提供了对globalThis 的类型检查支持。 global 这只是一个适用于全局范围的全局变量。该变量允许您从任何环境轻松访问全局范围。同样,您应该知道globalThis 不会公开两个全局变量:const 和let。
JSX 中的defaultProps 支持
TypeScript 3.0 提供了一种名为LibraryManagedAttributes 的新类型,用于使用JSX 进行React 开发。该类型用作在使用prop 类型的组件之前定义更改的帮助器。这允许推断和修改所提供的映射和属性。
请注意,如果添加显式类型注释,编译器将不知道默认属性,因为它是从defaultProps 中的属性类型推断出来的。
5、TypeScript 的优势
它是一种面向对象的语言,具有接口、类、继承和模块等特性。
可选静态类型
TypeScript 附带一个可选的静态类型系统。这是TypeScript 的强大优势之一。您可以向属性、函数、变量等添加类型。因此,编译器可以在运行应用程序之前显示有关潜在问题(如果有)的警告。类型让开发人员知道他们需要什么类型的API。这在使用框架和库时非常有用。
要记住的是,使用类型是可选的。这意味着TypeScript 不会强迫开发人员使用他们不想要的类型。但是,请记住,随着时间的推移,随着应用程序变得越来越大、越来越复杂,类型变得越来越有价值。
提供对JavaScript 库的支持
TypeScript 可以与现有的主要JavaScript 框架、库和其他工具一起使用。
TypeScript 是可移植的
TypeScript 可以在任何设备、浏览器或操作系统上运行。易于在不同设备上使用并兼容所有平台。 TypeScript 可以在任何支持JavaScript 的环境中运行。
更少的错误
在前端开发领域,开发人员如果能够更容易地发现编程过程中出现的错误,可以节省大量时间。这就是我们需要TypeScript 的原因。 TypeScript 允许您确保您的代码库没有死代码。
智能传感
在项目中使用TypeScript 的另一个好处是IntelliSense,它有助于代码完成。当您编写代码时,IntelliSense 会提供有用的提示。目前市场上所有主要的IDE 都支持代码补全,包括Sublime Text、Atom、WebStorm、VScode 和一些命令行编辑器。
TypeScript 与JS 非常相似
TypeScript 代码完全在JavaScript 中运行。这意味着您只需要了解一点JavaScript 就可以开始使用TypeScript。当涉及到代码执行时,用TypeScript 编写的代码会被编译并转换为JavaScript。
6、结论
开发人员发现TypeScript 极大地提高了他们的工作效率,并且可以更轻松地构建可靠、可扩展的应用程序。它非常容易集成到现有的JavaScript 中,并可以轻松地与React、Angular、Node 和Vue 配合使用。
您还应该知道JavaScript 和TypeScript 都在不断发展,并且彼此之间并不存在竞争。它们只是相互补充,各自满足不同的需求。因此,您可以根据您的项目需求选择合适的解决方案。
原文链接:
https://aglowidisolutions.com/blog/为什么使用打字稿/
版权声明:本文由今日头条转载,如有侵犯您的版权,请联系本站编辑删除。