You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

创建类对象时,如何将字符串数组作为参数传入类的构造函数?

如何在创建类对象时将字符串数组传入构造函数?

咱们先看你给出的代码里的小问题:new String[]并不是TypeScript/JavaScript中创建字符串数组的正确语法,这也是导致你可能疑惑的点。下面我会把代码修正,并拆解正确的实现方式:

修正后的完整代码示例

// 先定义接收字符串数组的类
export class SelectedFilters {
  // 构造函数声明public参数,会自动将其转为类的属性
  constructor(public related: string[]) { }
}

export class ManagerComponent {
  private selectedFilters: SelectedFilters;

  public ngOnInit() {
    // 方式1:直接传入空字符串数组字面量
    this.selectedFilters = new SelectedFilters([]);

    // 方式2:传入带有初始元素的字符串数组
    // this.selectedFilters = new SelectedFilters(["user:admin", "status:active"]);

    // 方式3:先定义数组变量再传入(适合数组需要提前处理的场景)
    // const initialFilters: string[] = ["category:books", "price:under50"];
    // this.selectedFilters = new SelectedFilters(initialFilters);
  }
}

关键知识点说明

  • 类型注解规范:在TypeScript里,推荐使用小写的string作为类型注解(表示原始字符串类型),而大写的String是字符串包装对象类型,日常开发中几乎不会用到。
  • 数组创建方式:创建字符串数组最简洁直观的方式是用数组字面量[],如果需要初始元素,直接在括号内填写即可;如果需要动态创建数组,也可以用new Array(),但字面量写法更常用。
  • 构造函数传参逻辑:只要你的类构造函数接收string[]类型的参数,创建对象时直接传入符合类型要求的数组即可,不管是字面量还是提前定义好的数组变量。

内容的提问来源于stack exchange,提问作者Shailesh Vikram Singh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 11:29:23