TypeScript基础语法

// ————————————数据类型 ——————————————————

let a:string='adsaf'

console.log(a)

let  v

v=2

console.log(v) //2

let arr=[1,2,3]

const result = arr.find(item=>item>2) as number

// ———————————— 类型推断——————————————————\

console.log(result)//3

console.log(result*5)//15

let v3:boolean=true

let v4:number = 5

let v6 :string|number|boolean='西门飞雪'

console.log(v6)//西门飞雪

let v7 :1|2|4|5=5

// ————————————数组 ——————————————————

let aarr=[3,4,4,4,4]

let arrrr :number[]=[3,3,3]

let sss: string[]=[a,a,'213']

console.log(sss)//["adsaf", "adsaf", "213"]

// ———————————— 元组——————————————————\

let t1:[number,string,number?]=[1,'asfd']

t1[0]=300

 t1[1]='asdfdsaf'

 // ———————————— 枚举类型——————————————————

 enum myenum{

    '火神',

    A,B,c,

    asd,as

 }

 console.log(myenum)// "0": "A",

//   "1": "B",

//   "2": "c",

//   "3": "asd",

//   "4": "as",

//   "A": 0,

//   "B": 1,

//   "c": 2,

//   "asd": 3,

//   "as": 4

 console.log(myenum[0])//"火神"

 // ———————————— 函数——————————————————\

function fun(a:string,b:number,c?:boolean):string{

        return a+b

}

const f=fun('afd',6)

console.log(f)//"afd6"

// ———————————— 接口——————————————————\

    interface obj{

        name:string

        age:number

    }

const object:obj={

    name:'yang',

    age:2

}

// ———————————— tap——————————————————\

type myname =string|number

let ag:myname='asdg'

// ———————————— 泛型——————————————————\

function  funb<typename>(a:typename,b:typename):typename[]{

    return[a,b]

}

funb<number>(9,0)

funb<string>('a','g')

funb('a','d')

// ———————————— 函数重载——————————————————\

function fund (name:string):string

function fund (age:number):number

function fund(value:string|number):any{

if(typeof value==='string'){

    return'你好我的是'+value

}

else if(typeof value ==='number'){

    return '今年'+value+'岁'

}

else

return'错'

}

console.log(fund('asfdasd'))//你好我的是asfdasd"

console.log(fund(8))//"今年8岁

// —————————接口继承———————————————————————————————————\

interface farther{

    name:string

    age:number

}

interface son extends farther{

    sex:string

}

const ren:son={

        name:'西门飞雪',

        age:21,

        sex:'man'

}

console.log(ren)

 //---------------------------类的修饰符------------------------

 class article{

//规定类 的实例

public title:string

content:string

age=100

huozhe?:boolean

private money?:number

    constructor(title:string,content:string){

        this.title=title

        this.content=content

    }

 }

 const beiying=new article('标题','内容')

  //---------------------------存取器------------------------

class user{

    private _password:string=''

    getpassword():string{

        return '***'

    }

    setpassword(newps:string){

        this._password=newps  

    }

}

const usera=new user()

console.log(usera.getpassword)

  //---------------------------抽象类-----------------------

abstract class animal{//规范格式的类

    abstract name:string

    abstract makesound():void

}

class cat extends animal{

    name:string='咪咪'

    makesound():void{

    }

}

//------------------------------类实现接口==----------------------

interface Animals{

    name:string//普通属性

    get sound():string//存储器属性

    makesound():void //普通方法

}

//类实现一个接口

interface b{

    age:number

}

class dog implements Animals,b{

    name:string='勾子'

    age:number=2

    makesound():void{

    }

    get sound():string{

        return 'aaa';

    }

}

//--------------------------类与泛型结合,,泛型类------------

class myclass<T>{//类中设置泛型

   public  value:T

    constructor(value:T){

        this.value=value

    }

    do(input:T):T{

        console.log(this.value+'已处理')

        return input

    }

}

const myStr = new myclass<string>('hello')

myStr.do('abd')

const  myNUm=new myclass<number>(123)

myNUm.do(125124)

  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值