Typescript中修饰符与联合类型

37 阅读2分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第6天,点击查看活动详情

修饰符(类中的成员修饰符): 描述类中的成员(属性,构造函数,方法) 的可访问性

//类中的成员都有默认的修饰符 public

//public修饰符,类中成员默认的修饰符,代表的是公共的,任何位置都可以访问类中的成员

//private修饰符 类中的成员如果使用private来修饰,那么外部是无法访问这个成员数据的,当然子类中也是无法访问该成员数据的i访问

//protected修饰符,类中的成员如果使用protected来修饰,那么外部是无法访问这个成员数据的,当然子类中是可以访问该成员数据的

 

readonly修饰符

首先是一个关键字,对类中的属性成员进行修饰,修饰后,该属性成员,就不能在外部被随意的修改了

//构造函数中,可以对只读属性成员的数据进行修改

//如果构造函数中没有任何的参数,类中的属性成员此时已经使用readonly进行修饰了,那么外部是不能对这个属性值进行更改的

//构造函数中的的参数可以使用readonly进行修饰,一旦修饰了,那么该类中就有了这个只读的成员属性了,外部可以访问,但是不能修改

//构造函数 中的参数可以使用public及private和protected进行修饰,无论是那个进行修饰,该类中都会自动的添加这么一个属性

 

接口和接口之间叫做继承,使用extends

类和接口之间叫做实现使用 implements

class Person implements FlySwim {

fly() {},

swin() {}

}

类和类之间如果要与继承关系,需要使用extends关键字

联合类型类型断言

function getstring(str: number | string): number {

if((str).length) {

//1.str.length存在吗? 存在说明是string类型

return (str).length

//2.return (str as string).length

return (str as string).length

} else {

return str.tostring.length

}

}

类型推断

没有明确的指定类型时候,可以推测出一个类型

let txt; //any类型

txt = '123';

txt = true