JavaScript 和 TypeScript 的区别
JavaScript 和 TypeScript 的区别
JavaScript
JavaScript 是 HTML 和 Web 中最流行的编程语言。JavaScript 是一种基于对象的脚本语言,它是轻量级和跨平台的。它用于创建客户端动态页面。JavaScript 语言中的程序称为脚本。脚本以 HTML 页面编写,并在页面加载时自动执行。它以纯文本形式提供和执行,无需特殊准备或编译即可运行。
JavaScript 的历史
Netscape Communications Corporation 的程序员 Brendan Eich 开发了 JavaScript。它于 1995 年 9 月推出,最初称为 Mocha。然而,在作为最佳脚本工具获得普及之后,它被重命名为 JavaScript,以反映 Netscape 在其浏览器中对 Java 的支持。1996 年 11 月,Netscape 将 JavaScript 提交给 ECMA(欧洲计算机制造商协会)。当前的 JavaScript 版本是 ECMAScript 2018,于 2018 年 6 月发布。
TypeScript
TypeScript 是一种开源的纯面向对象的编程语言。它是 JavaScript 的强类型超集,可编译为纯 JavaScript。TypeScript 由 Microsoft 在 Apache 2 许可下开发和维护。它不是直接在浏览器上运行的。它需要一个编译器来编译并生成 JavaScript 文件。TypeScript 源文件的扩展名为“.ts”。我们可以通过将任何有效的“.js”文件重命名为“.ts”文件来使用它。TypeScript 是 JavaScript 的 ES6 版本,具有一些附加功能。
TypeScript 的历史
Anders Hejlsberg 开发了 TypeScript。它于 2012 年 10 月 1 日首次面向公众推出。经过微软内部两年的开发,TypeScript 0.9 的新版本于 2013 年发布。TypeScript 的当前版本是 TypeScript 3.4.5,于 24 日发布2019 年 4 月。
TypeScript 相对于 JavaScript 的优势
-
TypeScript 在开发期间总是在编译时突出显示错误,而 JavaScript 在运行时指出错误。
-
TypeScript 支持强类型或静态类型,而这在 JavaScript 中不支持。
-
TypeScript 可以在任何浏览器或 JavaScript 引擎上运行。
-
强大的工具支持 IntelliSense,它在添加代码时提供主动提示。
-
通过定义模块,它具有命名空间概念。
TypeScript 相对于 JavaScript 的劣势
-
TypeScript 需要很长时间来编译代码。
-
TypeScript 不支持抽象类。
-
如果我们在浏览器中运行 TypeScript 应用程序,则需要一个编译步骤将 TypeScript 转换为 JavaScript。
TypeScript与JavaScript
JavaScript | TypeScript | |
---|---|---|
1. | 它不支持强类型或静态类型。 | 它支持强类型或静态类型功能。 |
2. | 网景于 1995 年开发了它。 | Anders Hejlsberg 于 2012 年开发了它。 |
3. | JavaScript 源文件的扩展名为“.js”。 | TypeScript 源文件的扩展名为“.ts”。 |
4. | 它直接在浏览器上运行。 | 它不是直接在浏览器上运行的。 |
5. | 它只是一种脚本语言。 | 它支持面向对象的编程概念,如类、接口、继承、泛型等。 |
6. | 它不支持可选参数。 | 它支持可选参数。 |
7. | 它是解释性语言,这就是它在运行时突出显示错误的原因。 | 它在开发期间编译代码并突出显示错误。 |
8. | JavaScript 不支持模块。 | TypeScript 支持模块。 |
9. | 其中,数字、字符串是对象。 | 其中,数字、字符串是接口。 |
10. | JavaScript 不支持泛型。 | TypeScript 支持泛型。 |
11. | 例子: <script> function addNumbers(a, b) { return a + b; } var sum = addNumbers(15, 25); document.write('Sum of the numbers is: ' + sum); </script> | 例子: function addNumbers(a, b) { return a + b; } var sum = addNumbers(15, 25); console.log('Sum of the numbers is: ' + sum); |
- 点赞
- 收藏
- 关注作者
评论(0)