Ts的基本约束 +class的约束

let mz: string = ''

let scoreList: Array<boolean> = [true, false, true];

let name2: String = ''

const name4: number = 0

/**

 * 类的修饰符

 * 一共有两种

 * 1.可见性修饰符里面有三个属性

 * public 默认修饰符

 * protected   --搜保护的属性(这个属性只能在类以及子类里面使用)

 * private ---私有的   (只能在自身中使用*****重点:出了自身或者在子类里面是不可用的)

 * 2.只读修饰符

    * readonly

    *

    */

class Aniame{

   name: String

// 构造函数

 constructor(name:string) {

 this.name=name

   }

// 实例方法

  eat(): void{

   console.log(this.name,'会拆家说');

 }

 }

const a = new Aniame('二哈')

console.log(a.name);

a.eat()


 

// *****************************************************************

// class   class类的继承子继承

class Aniame {

name: String

//     // 构造函数

 constructor(name: String) {

  this.name = name

   }

//     // 实例方法

//     eat(): void {

//         console.log(this.name, '会跑。会吃~');

//     }

// }

// class Dog extends Aniame {

//     age: number

//     constructor(name: String, age: number) {

//         super(name)

//         this.age = age

//     }

// }

// let b = new Dog('金毛', 1)

// console.log(b);

// b.eat()


 

// 接口约束类    接口方法 interface     implements

// interface Ianiame{

//     name: String

//     eat():void

// }

// class Aniame implements Ianiame{

//     name: String = '金毛'

//     eat() {

//         console.log(`${this.name} 正在唱歌!`)

//     }

// }

// let a = new Aniame()

// a.eat()

// 该接口约束类型里面要求必须有sing方法和name属性

// interface Singabel {

//     name: string

//     sing(): void

// }

// // 要求 Person 实现 Singabel 的属性和方法

// class Person implements Singabel {

//     name: string = '小蕾'// 必须存在,因为Singabel里面有name属性

//     constructor(name:string) {

//         this.name=name

//     }

//     sing() {// 必须存在,因为Singabel里面有sing方法

//         console.log(`${this.name} 正在唱歌!`)

//     }

// }

// let d = new Person("金毛")

// // d.sing()

// console.log(d);


 

/**

 * 枚举  定义:一个命名函数

 * 关键字enum生命

 */

// 一个数据如果有默认值就取默认值依次递增   如果没有默认值 从 0 开是递增

// enum Iane{

//     'left',

//     'right'=10,

//     'up',

//     'down'

// }

// console.log(Iane.down);




 

// 泛型函数  fn后跟上一个自定义名 函数里的参数受 自定义名的约束,那么调用fn跟个<>里面要定义的类型(传入fn后的那个类型值)

function fn<A>(x:A):A {

    return x

}

fn<number>(1)

fn<string>('')

fn(true)



 

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值