gpt4 book ai didi

typescript - 获取 typescript 通用类型作为字符串值

转载 作者:行者123 更新时间:2023-12-02 16:55:05 26 4
gpt4 key购买 nike

我正在尝试获取泛型函数中给定类型的名称类型。

这是一个 nodeJS 应用程序。

我想做这样的事情:

static Get<T>(): string {
return typeof T;
}

但是这个例子会导致错误:“'T' 仅指代一个类型,但在这里被用作一个值。”

如果我调用:

let strType: string = Get<string>();

最佳答案

您可以从 TS Handbook 改编此类型:


type TypeName<T> =
T extends string ? "string" :
T extends number ? "number" :
T extends boolean ? "boolean" :
T extends undefined ? "undefined" :
"object";

class Foo {

static Get<T>(value: T): TypeName<T> {
return typeof value;
}
}

Foo.Get(123) // "number"
Foo.Get("str") // "string"

关于typescript - 获取 typescript 通用类型作为字符串值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56836376/

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