2016-08-03 23 views
1

Ich suchte nach einer Antwort, fand aber keine Antwort:
Gibt es eine Möglichkeit, mindestens ein Argument für einen Restparameter zu erzwingen?
Im folgenden Code sind alle drei Aufrufe an logArray gültig, aber ich möchte, dass die erste fehlschlägt.Mindestens ein Argument für Restparameter erzwingen

function logArray(...elements: number[]) { 
    elements.forEach(x => console.log(x)); 
} 

logArray(); // should fail but works 
logArray(1); 
logArray(1,2); 

Antwort

3

Eine mögliche Lösung nur könnte einen regelmäßigen Parameter vor dem Rest Parameter hinzugefügt und es zurück in der Funktion Körpern wie so

function logArray(e1: number ,...erest: number[]) { 
    [e1, ...erest].forEach(x => console.log(x));   
} 
verketten