在构造函数中,除了设置属性的初始值外,还可以进行一些属性校验和初始化操作,确保属性的值是合法的,并且符合预期的格式和类型。 例如,在上面的 Person 类中,可以在构造函数中对年龄进行校验,确保年龄是正整数: class Person { name: string; age: number; constructor(name: string, age: number) { this.name =...
class Animal { food: string constructor(food: string) { this.food = food; } eat(food: string = this.food) { } } const animal = new Animal('banana'); animal.eat(); elem: Element = this.container、eat(food:string = this.food)感觉不对,但是 tsc 能编译过 但是vite 中打包 会有下面的...
ts类中修饰符分为3种: public : 公有(所有)默认; protected:保护 (父类+子类);private: 私有(本类) 属性和方法 如果是用 protected 修饰,则允许在派生类中访问 classAnimal{ // 这个name属性就只能在这个类里面访问,类外部访问就会报错 protected name:string; constructor(theName:string) { this.name = t...
:number;// 可选属性}// 定义类classMyClass{name:string; age?:number;// 可选属性constructor(name:string, age?:number) {this.name= name;this.age= age; } } 1.3 如何使用可选属性? 在使用对象时,我们可以根据需要赋值给可选属性,也可以不赋值,它们都是合法的。 // 使用接口constperson1:Person= ...
public(默认值),可以在类、子类和对象中修改 protected ,可以在类、子类中修改 private ,可以在类中修改 示例: public class Person {public name: string; // 写或什么都不写都是publicpublic age: number;constructor(name: string, age: number) {this.name = name; // 可以在类中修改this.age = age;...
//泛型接口 + 泛型类interfaceList<T>{add(ele:T):void;get(index:number):T;size():number;}class ArrayList<T>implements List<T>{publicarray:Array<T>; public index: number = 0; constructor(){this.array=[];}public add(ele: T){this.array[this.index++]=ele;}size(){returnthis.index?thi...
public(默认值),可以在类、子类和对象中修改 protected ,可以在类、子类中修改 private ,可以在类中修改 示例: public: class Person{ public name: string; // 写或什么都不写都是public public age: number; constructor(name: string, age: number){ ...
类可以有自己的构造函数constructor,当我们通过new关键字创建 一个实例时,构造函数会被调用;构造函数不需要返回任何值,默认返回当前创建出来的实例; 类中可以有自己的函数,定义的函数称之为方法; class Person { //声明类的属性 name!: string age: number ...