TypeScript 和JavaScript的区别

2024年11月16日 TypeScript 和JavaScript的区别 极客笔记

TypeScript 和JavaScript的区别

JavaScript

JavaScript是HTML和网络上最流行的编程语言。JavaScript是一种基于对象的脚本语言,轻巧且跨平台。它用于创建客户端动态页面。JavaScript语言中的程序被称为脚本。脚本写在HTML页面中,并在页面加载时自动执行。它以纯文本形式提供和执行,无需特殊的准备或编译即可运行。

JavaScript的历史

Netscape通信公司的程序员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的历史

TypeScript是由Anders Hejlsberg开发的。它首次在2012年10月1日向公众介绍。在Microsoft内部开发了两年之后,2013年发布了TypeScript 0.9的新版本。目前的TypeScript版本是3.4.5,于2019年4月24日发布。

TypeScript相对于JavaScript的优势

  • TypeScript在开发过程中始终在编译时突出显示错误,而JavaScript在运行时指出错误。
  • TypeScript支持强类型或静态类型,而JavaScript不支持。
  • TypeScript可以运行在任何浏览器或JavaScript引擎上。
  • IntelliSense提供了强大的工具支持,可以在代码添加时提供活动提示。
  • 通过定义模块,它具有命名空间的概念。

TypeScript相对于JavaScript的劣势

  • TypeScript编译代码的时间较长。
  • TypeScript不支持抽象类。
  • 如果在浏览器中运行TypeScript应用程序,需要进行编译步骤将TypeScript转换为JavaScript。

TypeScript与JavaScript对比

序号 JavaScript TypeScript
1. 不支持强类型或静态类型。 支持强类型或静态类型特性。
2. Netscape在1995年开发的。 Anders Hejlsberg在2012年开发的。
3. JavaScript源文件的扩展名是”.js”。 TypeScript源文件的扩展名是”.ts”。
4. 它可以直接在浏览器上运行。 它不能直接在浏览器上运行。
5. 它只是一种脚本语言。 它支持面向对象编程的概念,如类、接口、继承、泛型等。
6. 它不支持可选参数。 它支持可选参数。
7. 它是解释型语言,这就是为什么它在运行时突出显示错误。 它在开发期间编译代码并突出显示错误。
8. JavaScript不支持模块。 TypeScript支持模块。
9. 其中,number、string是对象。 其中,number、string是接口。
10. JavaScript不支持泛型。 TypeScript支持泛型。

JavaScript示例:

<script>
function addNumbers(a, b) {  
    return a + b;  
}  
var sum = addNumbers(15, 25);  
document.write('Sum of the numbers is: ' + sum); 
</script>

TypeScript示例:

function addNumbers(a, b) {  
    return a + b;  
}  
var sum = addNumbers(15, 25);  
console.log('Sum of the numbers is: ' + sum);

本文链接:http://so.lmcjl.com/news/17966/

展开阅读全文