大家好,我是小面。今天将给大家介绍一下Java和TypeScript开发者之间的区别。
你懂Java吗?你想学习TypeScript吗?TypeScript和Java之间有五个不同之处,这将使学习过渡更加容易。
TypeScript作为前端和后端开发人员选择的编程语言越来越受欢迎。
使用TypeScript,开发人员可以充分利用面向对象编程(OOP)的原理和实践。同时,他们可以利用JavaScript(TypeScript的派生语言)的经验。
Typescript非常适合那些希望扩展到另一种语言,但仍然利用OOP专业知识的Java程序员。
下面是每个学习TypeScript的Java开发人员需要知道的五件事:
TypeScript从一开始就打算成为OOP语言。Java中OOP的所有标准特性都在TypeScript中。
首先,TypeScript是一种严格的类型语言。与Java一样,TypeScript在设计时声明变量时建立变量的类型。以下是TypeScript中严格类型声明的示例,它将变量firstName声明为字符串类型的变量:
let firstName:string
Java的主要功能
Java的主要卖点是它面向对象,语法与C++相似,代码全面而灵活。
与Java一样,TypeScript下的类和接口是该语言的一流构建块。您可以将类变量和方法的范围声明为public、protected和private。Java从一开始就支持这种类型的作用域。
最后,TypeScript允许您将修饰符应用于类、方法、访问器、属性和参数。装饰器可以通过使用前缀为@符号的给定装饰器,以声明方式对类、方法、访问器、属性或参数施加行为,如以下使用装饰器名称@sealed的示例所示:
@sealed
class BugReport {
type = "report";
title: string;
constructor(t: string) {
this.title = t;
}
}
TypeScript装饰器的Java等价物是注释。
TypeScript和Java都是OOP语言,但它们的语法存在差异。以下示例在Java中声明了一个名为firstName的变量:
String firstName=“阿星”;
下一个示例在TypeScript中声明firstName:
const firstName:string=“阿星”;
正如您所看到的,上面的示例具有相同的意图:声明一个名为firstName的String类型的变量,然后将值“John”赋给该变量。不同之处在于每个表达式的语法。
来到TypeScript的Java程序员必须花一些时间学习TypeScript语法。TypeScript语法并不难学;它与Java语法有点不同。
Java和TypeScript都是编译语言。这意味着编译器检查源代码文本以确保代码语法正确,然后将源代码文本转换为运行时计算机可以处理的格式。
在Java中,源代码被编译成字节码,由安装在给定计算机上的Java虚拟机运行。在TypeScript中,源代码被编译成JavaScript代码,由JavaScript运行时运行。对于前端开发人员来说,JavaScript运行时是web浏览器的一部分。对于后端开发人员,JavaScript运行时安装在运行后端应用程序的服务器上。
Java中的物理文件转换将扩展名为.Java的文本文件转换为扩展名为.class的字节码。
相比之下,Typescript将扩展名为.ts的源代码文本文件编译为扩展名为.js的JavaScript代码。
多年来,Java编程已经成熟到有了全面的包和构建系统来部署程序员可以在代码中轻松使用的组件和库的地步。Java开发人员中流行的两种包管理和构建系统是Maven和Gradle。托管要下载和安装的组件的各种存储库支持这些包管理系统。
TypeScript开发人员使用NPM包管理和构建系统来创建在NodeJS下运行的应用程序。npmjs.com上托管了公开可用的NPM包。
任何Java或TypeScript开发人员都可以使用简单的文本编辑器编写应用程序。然而,大多数开发人员使用集成开发环境(IDE),如IntelliJ、WebStorm、Eclipse或Visual Studio代码。
使用IDE的好处是开发人员可以更快地编写更好的代码。IDE可以在设计时检测代码中的语法错误,甚至在代码编译之前。许多IDE还检测到低效的代码,并建议更好的代码编写方法。
许多IDE提供了一个称为代码完成的特性,它为开发人员提供了在开发人员编写时完成编程语句的建议。当您声明属于外部依赖项的类或接口时,自动完成也可以自动导入依赖项语句。
这种代码完成功能在不同的IDE中有不同的名称。在Microsoft Visual Studio代码中,它被称为IntelliSense和IntelliCode。Eclipse有一个名为Content Assist的设置,而IntelliJ和Webstorm则称其为设置代码完成。
TypeScript为Java开发人员提供了很多。了解面向对象编程复杂性的程序员可以立即将他们所知道的应用于TypeScript。此外,TypeScript为Java开发人员提供了一种过渡到基于浏览器的软件开发世界的方法。
开发人员从Java到TypeScript有一条学习曲线。对大多数人来说,掌握TypeScript的窍门是理解语法的问题。本文中的五个技巧应该会使移动变得更容易。