老师,类类型和实例类型怎么区分呢?typeof Greeter这块没搞懂
来源:3-16 类 - 抽象类+ 高级技巧

biubiuQAQ
2019-05-31
typeof Greeter,意思是取 Greeter 类的类型,而不是实例的类型,这句话没明白
试了一下typeof Greeter返回值是function
let greeterMaker: typeof Greeter = Greeter,那这句代码是不是就相当于let greeterMaker: function = Greeter?
后面又讲到typeof Greeter这个类型包含了类的所有静态成员和构造函数,为啥function包含了类的所有静态属性和构造函数呢?
写回答
1回答
-
Greeter 是实例类型,typeof Greeter 就是类类型。
类是即可当做值,也可以当做类型的。
比如 let greeter:Greeter 这里的 Greeter 就被当做类型,同理
typeof Greeter 这里也是当做类型,而不要去对它求值,所以你对它求值是没有意义的。
这些都是 TypeScript 的规范,TypeScript 根据这些规范编译,你要跳出 JavaScript 运行时的逻辑,因为编译后运行的 JavaScript 的代码,也就没有这些类型了。142020-12-09
相似问题