首页 > 其他 > 详细

typescript学习笔记

时间:2019-11-07 23:35:28      阅读:94      评论:0      收藏:0      [点我收藏+]

 

/*
* 可索引接口
*
* */
// 对数组的的约束
interface Lx {
[idnex:number]:string
}
var arr:Array<string>=["1111111","2222222"]
console.log(arr[1])

//对对象的约束:indexstring类型
interface Obj {
[index:string]:string
}
var obj:Obj={"jing":"guorui"}
console.log(obj)
//---------------------------------------------------------------------
/*
* 类类型的接口,
*implements用来继承类类型接口
* */
interface Animal {
name:string,
eat(str:string):void
}
class Dog implements Animal{
name:string
constructor(name:string){
this.name=name
}
eat(){
console.log(this.name+"吃粮食")
}
}
var dog=new Dog("")
dog.eat()
//---------------------------------------------------------------
/*
* 接口扩展,接口可以继承
*接口通过extends来继承另一个接口
* 接口通过implements来规范接口
* 子类继承父类,然后继承接口的使用
* 子类通过class wen extends Person implements Ren来继承接口以及父类的方法,
* 子类拥有了父类的方法,以及接口的规范
* */
interface Animals {
eat():void
}
interface Ren extends Animals{
work():void
}
class Person{
public name:string
constructor(name:string){
this.name=name
}
xie(code:string){
console.log(this.name+code)
}
}

class wen extends Person implements Ren{
constructor(name:string){
super(name)
}
eat() {
console.log(this.name+"喜欢吃馒头")
}
work(){
console.log(this.name+"喜欢工作")
}
}

var w=new wen("")
w.work()
w.eat()
w.xie("喜欢玩游戏")
//-------------------------------------------------------
/*
* typescript中的泛型<T>
* 定义:在软件工程中我们不仅要创建一致的良好的api,同时也要考虑可重用性,以及对未来位置类型的定义
*any放弃了类型检查,typescript要求类型检查,传入number类型,必须返回number类型;
*泛型可以不支持特定的数据类型
* */

//<T>表示泛型,具体什么类型,调用这个方法的时候决定
function getData<T>(val:T) :T{
return val
}
var s1=getData<string>("经过瑞")
var s2=getData<number>(1111)
console.log(s1,s2)

//泛型类,add表示添加,min表示返回一个最小值
class MinClass<T> {
public list:T[]=[]
add(num:T):void{
this.list.push(num)
}
min():T{
var minnum=this.list[0]
for(var i=0;i<this.list.length;i++){
if(minnum>this.list[i]){
minnum=this.list[i]
}
}
return minnum
}
}
var m=new MinClass<number>();
m.add(12)
m.add(41)
m.add(22)
console.log(m.min())

var m1=new MinClass<string>();
m1.add("a")
m1.add("s")
m1.add("c")
console.log(m1.min())

typescript学习笔记

原文:https://www.cnblogs.com/jingguorui/p/11816132.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!