首页 > 解决方案 > 对象的等价物...来自角度的java

问题描述

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

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

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

但是,在角度:

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”变量可以为空。没有?就不可能运行第一个函数。

我该怎么做才能有一个未知数量的项目的参数,但从不为空?

标签: angulartypescriptparameter-passing

解决方案


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


推荐阅读