在以下情况下,您可以通过传递any
类型作为参数来绕过编译器错误。
class Z {
public Go(aNumber: number): number {
return [1,2][aNumber];
}
}
// returns 1
var i: number = new Z().Go(0);
// Compile Error: Argument of type 'undefined' is not assignable to parameter of type 'number'.
i = new Z().Go(undefined);
// Compile Error: Argument of type 'undefined' is not assignable to parameter of type 'number'.
var example1;
i = new Z().Go(example1);
// returns undefined
var example2: any;
i = new Z().Go(example2);
我知道这些检查都是预先编译的。但是我想知道的是;确保开发人员在开发/预编译期间进行检查的最佳方法是什么?
这吗?
class Z {
public Go(aNumber?: number): number | undefined {
return [1,2][aNumber];
}
}
“现实世界”示例可能是:
<div id='1'></div> // some html
var expectedData = $("#1").data("none-to-be-found"); // returns undefined
i = new Z().Go(expectedData);