gpt4 book ai didi

angular - angular 2 中的类型是什么?

转载 作者:太空狗 更新时间:2023-10-29 17:13:38 25 4
gpt4 key购买 nike

我遇到了 Type文档中许多地方的关键字。例如as seen here ComponentRefcomponentType属性(property)。据说它是 Type<any> 类型的.在进一步搜索中,我发现 this entry关于文档。它说:作为 ES7 装饰器调用

也在寻找up the source在 github 上,我找到了这些评论:

/**
* @whatItDoes Represents a type that a Component or other object is instances of.
*
* @description
*
* An example of a `Type` is `MyCustomComponent` class, which in JavaScript is be represented by
* the `MyCustomComponent` constructor function.

但是我还是不清楚Type是什么做。我错过了一些基本的东西吗?

最佳答案

根据定义判断:

export const Type = Function;

export interface Type<T> extends Function {
new (...args: any[]): T;
}

Type只是一个函数。 Type<T>构造时只是一些函数/类型(使用参数的任意组合),创建一个 T .所以换句话说,一个“类型”定义。请记住,javascript 中的“类型”(在 OO 意义上)是使用函数表示的。这等同于 typescript 中的类、接口(interface)等。

鉴于此,以下内容应该成立:

class Foo {
s: string;
}
class Bar {
s: number;
}
class Biz {
ss: string;
}
class Baz {
s: string;
t: number;
}

let x: Type<{ s: string }>; // x is a type that returns an object
// with an s property of type string

x = Foo; // ok
x = Bar; // error, s is not a string
x = Biz; // error, doesn't contain s property
x = Baz; // ok
x = { s: "foo" }; // haha nice try

关于angular - angular 2 中的类型是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39909015/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com