【TypeScript_3】

类型断言、联合类型、接口、类

类型断言

指预测类型
类型断言有两种形式:
1.尖括号语法: <类型>变量名

let value:string="hello hello";
let len:number = (<string>value).length;

2.as 语法: 变量名 as 类型

let value:string="hello hello";
let len:number = (value as string).length;

变量后面加!,指非空断言,确定赋值断言,确定这个值一定会传 ,变量一定会赋值

let name!: string;

联合类型

联合类型 指通过管道(|)将变量设置多种类型,赋值的时候只能赋值声明时的这几种类型。语法:类型1|类型2|类型3……

let val:string|number  
val = 12  
console.log("数字为 "+ val)  
val = "Runoob"  
console.log("字符串为 " + val)

接口 interface

简单理解,就是用来描述对象的类型 ,当确定一个对象的属性名和属性值的类型,就可以对接口内的各种属性进行数据类型限制,使用接口定义这个对象,达到复用

interface : TS 中定义接口的关键字

接口继承使用 extends

interface 接口名称 {
    name: string
}


interface Info {
    name: string    // 必须包含一个name属性,而且是string类型
    hobby: string[]  // 必须包含一个 hobby 属性, 而且是由 string 组成的数组
    city?: string    // 选填属性,city属性可有可无, 如果添加了 city 属性, 必须是 string 类型
    readonly nationality: string  // 只读属性,nationality 属性值定义好以后就不能修改了
    [props: string]: any   // 额外属性,不确定的属性,但是 key 必须是字符串类型,值可以是任意类型
}

let user: Info = { name: 'h',hobby:["dancing"],city:"beijing",nationality:"china"}
let person: Info = { name: 't',hobby:["swimming"],nationality:"china" }

类 class

类出现的目的,其实就是把一些相关的东西放在一起,方便管理.

类中包含两个东西(也叫成员):属性、方法 ; 类的成员就是类中所有的属性和方法

class关键字可以方便的定义一个类

通过new关键字可以方便的生产一个类的实例对象,这个生产对象的过程叫实例化。

实例在new出来的时候,实际是调用了类中的constructor方法进行初始化

class People {  

​	name: string;  // 静态属性constructor(name: string) {    // 类的构造函数this.name = name;    // 给静态属性赋值} 
}

访问修饰符的作用就是用于限制别人乱用类中的东西:

访问修饰符

  1. public 公开的,谁都能用(默认public)
  2. private 私有的,仅类自己里头才能使用
  3. protected 受保护的,仅仅类和类的子类能使用

只读修饰符 readonly

静态修饰符 static静态的 通过static修饰的成员叫静态成员,静态成员无需实例化,直接通过类名调用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值