本文主要是介绍TS总结10、ts的 class 类型(配置项strictPropertyInitialization、非空断言、implements 关键字),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
一、简介
1.类(class)是面向对象编程的基本构件,封装了属性和方法
1.1、属性的类型:类的属性可以在顶层声明,也可以在构造方法内部声明,如果不给出类型;TypeScript 会认为x
和y
的类型都是any;
如果声明时给出初值,可以不写类型,TypeScript 会自行推断属性的类型;
class Point {x:number;y:number;
}
1.1.1.TypeScript 有一个配置项strictPropertyInitialization
,只要打开(默认是打开的),就会检查属性是否设置了初值,如果没有就报错
// 打开 strictPropertyInitialization
class Point {x: number; // 报错y: number; // 报错
}// 如果类的顶层属性不赋值,就会报错。如果不希望出现报错,可以使用非空断言。
class Point {x!: number;y!: number;
}
// 属性x和y没有初值,但是属性名后面添加了感叹号,表示这两个属性肯定不会为空,所以TypeScript
//就不报错了
1.2、readonly 修饰符:属性名前面加上 readonly 修饰符,就表示该属性是只读的。实例对象不能修改这个属性(构造方法内部设置只读属性的初值,修改只读属性的值都是可以的
这篇关于TS总结10、ts的 class 类型(配置项strictPropertyInitialization、非空断言、implements 关键字)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!