dra*_*mnl 124 typescript
据我所知,当它是一个数组时,属性的类型可以用两种方式定义.
property_name: type
Run Code Online (Sandbox Code Playgroud)
其中type可以是
Array<string>, Array<MyType>, etc. (e.g. let prop1: Array<string>)
Run Code Online (Sandbox Code Playgroud)
和
string[], MyType[], etc. (e.g. let prop1: string[])
Run Code Online (Sandbox Code Playgroud)
这两种情况有什么区别?或者我是否误解了某些东西(也许是关于<>用于铸造的东西?)
编辑,因为问题被标记为重复,我知道有任何关于任何[]的问题,但我仍然在发布之前看过它,对我来说,更多的是关于类型'任何'而不是不同的[] VS < >我问道
Pal*_*leo 124
没有区别.它相当于写:
function loggingIdentity<T>(arg: T[]): T[] {
console.log(arg.length);
return arg;
}
Run Code Online (Sandbox Code Playgroud)
要么:
function loggingIdentity<T>(arg: Array<T>): Array<T> {
console.log(arg.length);
return arg;
}
Run Code Online (Sandbox Code Playgroud)
资料来源:手册.
定义固定长度数组时存在差异。您不能使用 定义固定长度数组Array<>,必须使用简写语法:
const myFunc1 = (arg: [string, number, boolean]) => {
console.log(arg);
};
myFunc1(["hello world", 123, true]);
// error: TS2314: Generic type 'Array ' requires 1 type argument(s).
const myFunc2 = (arg: Array<string, number, boolean>) => {
console.log(arg);
};
myFunc2(["hello world", 123, true])
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
38944 次 |
| 最近记录: |