任何类型作为参数

时间:2019-07-25 07:14:30

标签: typescript

在以下情况下,您可以通过传递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);

0 个答案:

没有答案