相对于JavaScript来说,TypeScript增强了强制类型,同时添加了一系列的面向对象的特性,包含:静态类型(Static typing)、类(Classes)、接口(Interfaces)、模块(Modules),它只是一门设计时语言,也就是说在运行时依然是JavaScript引擎,TypeScript只是确保在设计时可以具有现代面向对象的语言的功能。
通过一个示例来看一下在TypeScript中定义类和静态方法,以WisOne IDE为例,打开WisOne IDE,在窗口上拖一个Button按钮。单击左侧项目视图的“Design“面板,在属性面板中更改其name属性为btnButton,Caption属性值为“显示当前日期“,再拖一个TEdit控件,设置其Name属性为EdtDate,Text属性为空。双击按钮进入到代码编辑器,在编辑器中可以看到Form本身是做为一个类存在,为了演示类的创建,这里在unit1下面新建了一个示例类,如下代码所示:
module Unit1{
//创建一个新的类
export class MyFirstClass{
//定义一个静态的方法用来显示日期
static DisplayDate(edit1:Core.StdCtrls.TEdit):void{
//实例化日期类型
var currentDate:Date=new Date();
//显示当前日期字符串
edit1.text=currentDate.toLocaleDateString();
}
} export class TForm1 extends Core.Forms.TForm{
btnDate: Core.StdCtrls.TButton;
edtDate: Core.StdCtrls.TEdit; btnDateClick(sender: Core.Classes.TComponent){
//调用模块Unit1下的MyFirstClass下的静态方法DisplayDate显示日期
Unit1.MyFirstClass.DisplayDate(this.edtDate);
} }
}
TypeScript中有static关键字表明方法是一个静态方法,也就是说DisplayDate可以不用使用new进行实例化就能直接调用熟悉C#语言的会很熟悉这样的语法,在名为Unit1的Module下面,WisOne IDE自动生成了一个名为TForm1的类,我在这里定义了一个名为MyFirstClass的类,也就是说现在有2个类在Module下面,在btnDate的单击事件处理代码中,通过调用MyFirstClass类中的静态方法,就显示了当前的日期。在WisOne IDE中的运行效果如下图所示:
aaarticlea/png;base64,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" alt="" width="600" height="363" />
Module、Class以及static这些显示的面向对象的关键字,让TypeScript的代码更加简洁,容易架构。而且对类型的支持这足以让代码容易给别人接手,在我看来,确实是让人心动。
有兴趣的朋友可以进入http://www.wisone.com/ide试着玩一下这个简单的类代码。