当前位置: 首页 > wzjs >正文

网站独立开发360渠道推广系统

网站独立开发,360渠道推广系统,南京直销网站开发,网站怎么推广怎么做在 TypeScript(TS)中,构造器(constructor) 是用于创建和初始化类实例的特殊方法。它在类实例化时自动调用。 1. 基本语法 class Person {name: string;constructor(name: string) {this.name name;}greet() {consol…

在 TypeScript(TS)中,构造器(constructor) 是用于创建和初始化类实例的特殊方法。它在类实例化时自动调用。

1. 基本语法

class Person {name: string;constructor(name: string) {this.name = name;}greet() {console.log(`Hello, my name is ${this.name}`);}
}const p = new Person("Alice");
p.greet(); // 输出: Hello, my name is Alice
  • constructor 方法new Person("Alice") 时被调用。
  • this.name = name 赋值,将参数存入实例属性。

2. 构造器参数的访问修饰符

TypeScript 允许直接在构造器参数前加 publicprivateprotected,这样可以省略手动赋值

class Person {constructor(public name: string) {} // 自动创建并赋值 name 属性greet() {console.log(`Hello, my name is ${this.name}`);}
}const p = new Person("Bob");
console.log(p.name); // Bob

修饰符说明:

  • public(默认)→ 外部可访问。
  • private → 仅类内部可访问。
  • protected → 仅类及其子类可访问。

示例:

class Example {constructor(private secret: string) {}showSecret() {console.log(this.secret); // ✅ 内部可访问}
}const e = new Example("hidden");
// console.log(e.secret); ❌ 报错:属性“secret”为私有属性

3. 构造函数重载(伪重载)

TypeScript 不支持真正的构造函数重载,但可以通过 可选参数联合类型 模拟:

class User {name: string;age?: number;constructor(name: string);constructor(name: string, age: number);constructor(name: string, age?: number) {this.name = name;if (age !== undefined) {this.age = age;}}
}const u1 = new User("Tom");        // 只传 name
const u2 = new User("Jerry", 25);  // 传 name 和 age

4. 构造器中的 readonly 属性

如果某个属性只在构造器中赋值,之后不可修改,可以用 readonly

class Car {constructor(public readonly brand: string) {}changeBrand(newBrand: string) {// this.brand = newBrand; ❌ 报错,brand 是 readonly}
}const car = new Car("Tesla");
console.log(car.brand); // Tesla
// car.brand = "BMW"; ❌ 报错

5. 继承中的构造器

在子类中,构造器需要调用 super() 以执行父类的构造函数:

class Animal {constructor(public species: string) {}
}class Dog extends Animal {constructor(species: string, public breed: string) {super(species); // 调用父类构造函数}
}const d = new Dog("Canine", "Labrador");
console.log(d.species, d.breed); // Canine Labrador

6. 抽象类的构造器

抽象类不能被直接实例化,但可以在子类中使用 super() 继承其构造逻辑:

abstract class Shape {constructor(public color: string) {}
}class Circle extends Shape {constructor(color: string, public radius: number) {super(color);}
}const c = new Circle("red", 10);
console.log(c.color, c.radius); // red 10

总结

  • 构造器是 constructor 方法,用于初始化对象。
  • 可以省略 this.属性 = 参数,直接在参数前加修饰符(publicprivateprotectedreadonly
  • TypeScript 不支持真正的构造函数重载,但可以用可选参数或联合类型模拟
  • 子类必须调用 super() 以继承父类构造逻辑
  • readonly 属性只能在构造时赋值,之后不可更改
http://www.dtcms.com/wzjs/180075.html

相关文章:

  • 东莞专业微网站建设推广简述网站推广的意义和方法
  • wordpress绑定域名插件贵阳seo网站推广
  • 2003服务器怎么挂网站seo五大经验分享
  • wordpress 前台上传图片北京seo结算
  • b2b网站代表及网站网址是什么郑州seo优化
  • 用旧技术做网站能过毕设么知乎爱战网关键词挖掘
  • 如何在百度上做网站南昌seo数据监控
  • html做网站的代码新东方烹饪学校学费价目表
  • 猪八戒网做动漫弹幕网站网络推广网站排名
  • 免费网站自动优化软件今日头条新闻下载安装
  • 论坛做网站好吗微信crm客户管理系统
  • 深圳代做网站后台搜索
  • b2b交易网站有哪些哈尔滨网站推广
  • 网站建设学多久长春seo排名收费
  • 做网站开发北京seo地址
  • 如何做高端网站seo教程排名第一
  • 南宁seo域名关键词快速排名seo怎么优化
  • php多平台商城网站系统建设网络营销员岗位的职责与要求
  • wordpress关健词武汉seo认可搜点网络
  • 淘客网站建设怎么找百度客服
  • 优质的营销网站建设网站快速排名优化价格
  • 有模板如何做网站内部搜索引擎优化
  • 企业网站搜索引擎优化方案百度代发排名
  • 网站推广方式和手段网站推广方案模板
  • php网页设计作业代码搜狗整站优化
  • 在国内做跨境电商怎么上外国网站百度风云榜游戏排行榜
  • 安徽建设网站公司seo搜索引擎优化的内容
  • 网站开发转包协议企业网站建设方案策划
  • 抚州企业网站做优化网站搜索优化官网
  • 国内外html5网站建设状况百度搜索引擎优化的养成良好心态