Lat*_*ift 12 typescript visual-studio-code
public drawTextTest(p1: number, p2: number, p3: number):void {
console.log(p1, p2, p3);
}
let array = [2, 2, 5];
this.drawTextTest( ... array );
Run Code Online (Sandbox Code Playgroud)
我在编辑器中收到此错误
[ts]预期的#参数,但至少得到0.
使用spread运算符传递参数时,为什么TypeScript会出错?
当我实际运行代码时没有错误,扩展运算符只是让我使用数组作为函数的参数,但在VSCode中,它向我显示错误,就好像我不能.
类型扩展运算符仅在所有参数都标记为可选时才起作用
public drawTextTest(p1?: number, p2?: number, p3?: number):void {
请参阅https://github.com/Microsoft/TypeScript/issues/4130#issuecomment-303486552
小智 6
较新版本的TypeScript应该通过流分析来解决这一问题,但是您应该能够通过以下方式手动键入数组以确保最小长度来使代码正常工作:
function drawTextTest(p1: number, p2: number, p3: number):void {
console.log(p1, p2, p3);
}
let array: [number, number, number] = [2, 2, 5];
this.drawTextTest( ... array );
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2752 次 |
| 最近记录: |