Ban*_*Ban 5 generics typescript
我是打字稿的新手,从来没有进入过c#或java.所以,即使我阅读官方打字稿网站上的说明,我也真的不明白其实际用途Generics.
这是一个简单的例子Generics.在下面这样做有什么好处?
function identity<T>(arg: T): T {
return arg;
}
var output = identity<string>("myString");
Run Code Online (Sandbox Code Playgroud)
没有Generics,我可以在下面这样做(或者我可以使用Interfaces确保传递指定的参数.)
function identity(arg: any): any {
return arg;
}
var output = identity("myString");
Run Code Online (Sandbox Code Playgroud)
任何意见,将不胜感激.谢谢
仅从您的基本示例开始:
function identity<T>(arg: T): T {
return arg;
}
Run Code Online (Sandbox Code Playgroud)
在此处具有泛型会在参数()和返回类型之间施加约束。这使编译器可以从参数推断出返回类型,如下所示:arg:T: T{
function identity<T>(arg: T): T {
return arg;
}
let str = identity('foo');
// str is of type `string` because `foo` was a string
str = '123'; // Okay;
str = 123; // Error : Cannot assign number to string
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
639 次 |
| 最近记录: |