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是带有一些附加功能的ES6版本的JavaScript。
TypeScript的历史
Anders Hejlsberg开发了TypeScript。它于2012年10月1日首次公开亮相。在微软内部开发两年后,新版TypeScript 0.9于2013年发布。当前版本的TypeScript是TypeScript 3.4.5,于2019年4月24日发布。
TypeScript优点
- TypeScript始终在开发期间的编译时突出显示错误,而JavaScript则在运行时指出错误。
- TypeScript支持强类型或静态类型,而JavaScript不支持。
- TypeScript可以在任何浏览器或JavaScript引擎上运行。
- IntelliSense提供活动提示的强大工具支持。
- 定义模块的命名空间概念。
TypeScript劣势
- TypeScript需要很长时间才能编译代码。
- TypeScript不支持抽象类。
- 如果我们在浏览器中运行TypeScript应用程序,则需要进行编译步骤以将TypeScript转换为JavaScript。
TypeScript Vs. JavaScript
SN | JavaScript | TypeScript |
---|---|---|
1. | 它不支持强类型或静态类型。 | 它支持强类型或静态类型功能。 |
2. | Netscape于1995年开发了它。 | Anders Hejlsberg于2012年开发了它。 |
3. | JavaScript源文件扩展名为“.js”。 | TypeScript源文件扩展名为“.ts”。 |
4. | 它可以直接在浏览器上运行。 | 它不能直接在浏览器上运行。 |
5. | 它只是一种脚本语言。 | 它支持面向对象编程概念,如类、接口、继承、泛型等。 |
6. | 它不支持可选参数。 | 它支持可选参数。 |
7. | 它是解释性语言,因此在运行时突出显示错误。 | TypeScript会编译代码并在开发时突出显示错误。 |
8. | JavaScript不支持模块。 | TypeScript支持模块。 |
9. | 在JavaScript中,数字、字符串是对象。 | 在TypeScript中,数字、字符串是接口。 |
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);