问题标签 [keyof]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
typescript - 打字稿检查类型 A === 类型 B | C型
在一个文件中,我有这样的内容:
在另一个文件中,我有这样的东西:
如何使用 Typescript 断言_all
ALWAYS 中定义的键等于 and 的_keep
并集_ignore
。换句话说,AllKey
应该总是等于KeepKey
| IgnoreKey
.
_all
我希望 Typescript 编译器在开发人员通过添加新值(比如z
)进行更新但忘记添加z
到_keep
or时给我一个错误_ignore
。
typescript - 如何指定 Typescript 通用 T[K] 是数字类型?
我有一个简单的 Typescript 函数,如下所示:
我的用法是这样的:
我不知道someObj
将是什么结构。
我的问题是:如何T[K]
静态指定数字类型?
typescript - 从泛型函数的声明中获取参数 - TypeScript 3.3
我不知道如何获取在接口中声明的函数的参数类型。我需要对它们进行适当的类型检查。可能我需要使用:TypeScript 版本中的参数类:3.3:https ://github.com/Microsoft/TypeScript/blob/v3.3.1/lib/lib.es5.d .ts#L1471-L1474但我不知道如何使用它。
typescript - TypeScript 中的“keyof typeof”是什么意思?
向我解释keyof typeof
TypeScript 中的含义
例子:
最后一行相当于:
但它是如何工作的?
我希望typeof ColorsEnum
返回类似的东西"Object"
,然后keyof "Object"
不做任何有趣的事情。但我显然错了。
typescript - 预期 3 个类型参数,但得到 1 个,但它应该推断出 2 个类型
我想知道如何正确推断我的函数的第二个和第三个模板
假设一个简单的界面
关注作品
但我需要通过指定另一种类型来概括该函数的工作(我不想传递对象实例来指定类型)
所以,以下不起作用
似乎函数的第二个和第三个模板参数不是从第一个参数推断出来的,但它应该是因为在第一种情况下,当我直接指定类型 T=ISome 时它起作用了。
我不确定是否有一些语言关键字可以使其工作,但模板应该完全适用:指定未知类型。
编辑
实际上我找到了这种方式,但需要额外的编码,如果可能的话我会避免
typescript - 强制索引中键的边界
我正在尝试使用一个将索引作为参数的函数,其中键限制为 T 的键
有没有办法做到这一点?这是正确的方法吗?
arrays - 打字稿参数 - 对象的通用数组和对象键的数组(部分)
我想要一个接受对象数组和一些对象键数组的方法。该方法将返回对象值数组的数组,但仅返回选定键的数组。
数据:
领域:
结果:
到目前为止,我有一个提供所需结果的函数,但我不确定如何更好地处理这些类型。
我尝试了下一个片段的一些变体,但出现错误。
typescript - 约束键,使其只能引用 TItem 的数字或日期键
我正在尝试约束键,因此它只能引用 TItem 的数字或日期键。
typescript - 列出类的私有属性名称
我需要使用类属性名称的一些子集作为映射中的值,以便在类内部使用。在以下示例中,我已将 map 替换为数组。问题是如果属性被标记private
,它不会在列表中keyof
列出。如果需要包含私有名称,如何指定密钥类型?
类外的变量和类内的私有属性都存在相同的错误:
类型“x”不能分配给类型“y”。