angular 中的 java 对象的等价物...

Equivalent of object... from java in angular

在 Java 中,我们可以这样做:

void myFunction(int... ints) {
   // ints will be int[], that will never be null
}

// both call method will works :
myFunction();
myFunction(0, 1, 5);

但是,在angular中:

myFunction(obj?: MyObj[]) {
   // obj will be an array that can be null
   // obj will by typed as "MyObj[] | undefined"
}

myFunction(); // this works
myFunction(obj1, obj2); // error

但是“obj”变量可以为空。没有 ? 就不可能 运行 第一个函数。

我怎样才能拥有项目数量未知但永远不会为空的参数?

您可以使用扩展运算符生成任意数量的参数myFunction(...obj: MyObj[])。这里 obj:Array<MyObj[]> 将是您的 MyObj 数组的数组。