【问题标题】:Typescript constructor: new vs class vs typeof class打字稿构造函数:new vs class vs typeof class
【发布时间】:2021-08-31 15:32:04
【问题描述】:

在Typescript中,类型T1-T4有什么区别:

class MyClass {
}

type T1 = MyClass;
type T2 = typeof MyClass;
type T3 = new () => MyClass;
type T4 = { new(): MyClass };

Intellisense 向我显示了不同的选项,但我不知道它们实际指向什么。

T2T3T4 之间是否有区别,因为以下工作:

const t1: T1 = new MyClass();
const t2: T2 = MyClass;
const t3: T3 = MyClass;
const t4: T4 = MyClass;

【问题讨论】:

    标签: javascript typescript class types


    【解决方案1】:

    typeof 是一种引用值类型的方法。 示例:

    let s = 'Hello'
    let n: typeof s;
    

    n 将是字符串类型。 [关于 typeof 的 typescript 文档链接][1] [1]:https://www.typescriptlang.org/docs/handbook/2/typeof-types.html

    查看 TypeScript 的 JavaScript 输出并在变量上使用 console.log。 T2 T3 和 T4 最终包含 MyClass 的构造函数。 即:函数 MyClass() {}。 我相信您编写的 TypeScript 归结为对 MyClass 构造函数的引用。

    希望对您有所帮助。

    干杯,

    菲尔

    【讨论】:

    • 我将深入研究生成的代码。谢谢!
    猜你喜欢
    • 1970-01-01
    • 2018-05-27
    • 1970-01-01
    • 2020-12-08
    • 2013-11-08
    • 1970-01-01
    • 2023-01-17
    • 2011-11-30
    • 1970-01-01
    相关资源
    最近更新 更多