创建类对象时,如何将字符串数组作为参数传入类的构造函数?
如何在创建类对象时将字符串数组传入构造函数?
咱们先看你给出的代码里的小问题: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
相关产品推荐
相关产品推荐

