Siehe untenWarum schließt Typ nicht? Überprüfen Sie die Parameter, wenn Sie function.apply verwenden?
/**
* @param {string} a
* @param {string} b
*/
var f = function(a, b){
// ...
}
/**
* @param {string} a
* @param {boolean} c
*/
var h = function(a, c){
f.apply(this, arguments); // no compile error
f.apply(this, [a, c]); // no compile error
f.call(this, a, c); // compile error: does not match formal parameter
}
Warum Closure einen Fehler nur, dass erhöhen, wenn Anruf mit und nicht anwenden?
Gibt es eine Möglichkeit, die Art der Schließung Typ-Check die Parameter auch wenn ich benutze anwenden?
Können Sie das Array explizit eingeben? – Bergi
@Bergi wenn es einen Weg gibt es zu tun, ich weiß es nicht. – oldergod