typescript 学习教程 (3)
typescript 学习教程 (3)
省委书记沙瑞金 发表于1年前
typescript 学习教程 (3)
  • 发表于 1年前
  • 阅读 47
  • 收藏 1
  • 点赞 0
  • 评论 0
新睿云服务器60天免费使用,快来体验!>>>   
typescript是面向对象向的语言,所以对于面向对象的语言,我们知道,面向对象中的有一个比较重要的感念,就是接口。当然typescript同样也定了接口的概念。但是在typescript中接口与java以及C#中的接口是有区别的。 首先我们先定义一个接口, interface Person { firstName:string; lastName:string; getPersonName():string; } var user:Person = { firstName: "Jane", lastName: "User", getPersonName: function(){ return this.firstName + ' ' + this.lastName; } }; console.log(user); 在上面的例子中,我们首先定义了一个接口,Person,我们从上面的例子中看到了,我们的接口Person中有两个成员和一个函数,当然成员也是不能够进行赋值,以及函数都是不允许进行实现的。我们具体的实现是在使用这个接口的时候进行实现,如果再使用这个接口的时候不进行实现,则编译的时候回报如下错误: demo.ts(7,5): error TS2322: Type '{ firstName: string; lastName: string; }' is not assignable to type 'Person'. Property 'getPersonName' is missing in type '{ firstName: string; lastName: string; }'. 但是这样问题能否进行避免呢?其实是可以的,我们可以在定义接口的时候定义可选实现,也就是在使用接口的时候,可以实现,也可不实现。 interface Person { firstName:string; lastName:string; age?:number; } var user:Person = { firstName: "Jane", lastName: "User" }; console.log(user); 在这个例子中,我在user中没有实现age,但是编译的时候却没有报错,这就是可选参数。 在typescript中,接口是有类型的。接口中类型包括函数类型,数组类型,类类型。 首先我们介绍一下,函数类型的接口,如下 interface showName { (firstName:string, lastName:string):void; } var show:showName = function (firstName:string, lastName:string):void { console.log(firstName+ ' ' + lastName); } show('firstName', 'lastName'); 然后,我会给以数组类型的接口;如下所示: interface nameList { [index: number]:string; } var namelist:nameList = ['马云', '马化腾']; console.log(namelist); console.log(name[0]); 类类型的接口,其实和第一个例子一样,那个就是类类型的接口,这边就不给例子了。 了解过面向对象的语言的,比如说java,C#等的,都知道,接口是可以进行继承的。当然,对于typescript的接口也是可以继承的。下面则是一个接口的继承的例子,这个例子全是类类型的接口。当然对于多类型的接口也是可以进行继承的。 interface FirstName { firstName:string; } interface LastName { lastName:string; } interface Person extends FirstName, LastName { getName():string; } var user:Person = { firstName:'ma', lastName:'yun', getName():string { return this.firstName + '' + this.lastName; } } console.log(user); 具体的例子这边就不给了,可以稍微的探索一下,
  • 打赏
  • 点赞
  • 收藏
  • 分享
共有 人打赏支持
粉丝 23
博文 43
码字总数 47581
×
省委书记沙瑞金
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: