types 相关问题

类型和类型系统用于强制程序中的抽象级别。

如何使打包和解包函数通用?

我想让这两个函数通用: /** * 如果元素已打包,请将其解压。 * @param data - 从中解包的数据。 */ 导出常量解包 = ( 数据:未定义|字符串|严格...

回答 1 投票 0

bash 脚本中的基本类型是什么?

bash 脚本中的基本类型是什么? 我觉得这是一个简单的问题,但要找到答案却出奇的困难。 我知道至少有数组,因为你可以进行通信...

回答 1 投票 0

如何在 Kotlin 中获取未知的可为空函数返回类型?

我想要实现的是得到Any!函数的返回类型,因此我可以自己决定是否处理可为空性。我发现获得这种类型的唯一方法是调用 Java 函数。 对于

回答 1 投票 0

语言中出现递归类型时是否需要折叠和展开?

语言中出现递归类型时是否需要折叠和展开?我正在阅读 Benjamin C. Pierce 所著的《类型和编程语言》一书。第 4 节“递归类型”介绍

回答 1 投票 0

TypeScript 错误:属性“width”的类型与“fit-content”不兼容

我目前正在开发一个 React Native 项目,其中我正在创建一个自定义输入组件,其中包含文本输入字段旁边的图标。但是,我在使用 TypeScript 时遇到了问题

回答 1 投票 0

为什么在 Go 类型 switch 中声明一个单独的变量? [重复]

我无法理解为什么类型开关是用 switch 语句中定义的附加变量编写的。下面的代码似乎是经过批准的做事方式: 功能测试...

回答 1 投票 0

如何检查一个对象是否不是数组?

所以我有一个函数需要检查参数是否是一个对象,但这失败了,因为: typeof[] // 返回“对象” 这是一个经典的 javascript 陷阱,但我不记得该怎么做

回答 10 投票 0

numba 按类型调度

我想在 numba 函数中分派第二个参数的类型,但失败了。 如果它是一个整数,那么应该返回一个向量, 如果它本身是一个整数数组,...

回答 1 投票 0

未捕获的范围错误:redux 工具包超出了最大调用堆栈大小

这里是新的 React 开发人员,我收到一条错误消息,该消息不指向我的代码,但它指向“redux-toolkit.esm.js:301” `redux-toolkit.esm.js:301 未捕获的 RangeError:最大调用堆栈

回答 2 投票 0

为什么接口不能分配给Record<string, unknown>?

我刚刚注意到接口无法分配给Record(游乐场链接): 接口 Foo { foo:数字 } const foo: Foo = { foo: 1 } 常量栏:记录 我刚刚注意到接口无法分配给Record<string, unknown>(playground链接): interface Foo { foo: number } const foo: Foo = { foo: 1 } const bar: Record<string, unknown> = foo // |-> Error: Type 'Foo' is not assignable to type 'Record<string, unknown>' // Index signature is missing in type 'Foo'.(2322) 但是,当省略 Foo 的类型声明时,同样是可能的(playground 链接): const foo = { foo: 1 } const bar: Record<string, unknown> = foo // no error here 问题: 为什么两个示例之间存在差异?对我来说,变量 foo 的简化类型在两个示例中都是相同的......接口 Foo 不应该分配给 Record<string, unknown> 吗? 根据我的理解,Record<string, unknown>相当于object,因此任何接口都应该可以分配给它。另外 @typescript-eslint/ban-types 建议使用 Record<string, unknown> 而不是 object。 备注: 第一个示例在使用 object (playground link) 或 Record<string, any> (playground link) 代替 Record<string, unknown> 时有效。 您遇到过类型中缺少索引签名(仅在接口上,不在类型别名上)#15300 当您将接口更改为类型时,代码将起作用: type Foo = { foo: number } const foo: Foo = { foo: 1 }; const bar: Record<string, unknown> = foo; 编辑:@Lesiak 上面有正确的答案。我留下这个只是为了相关答案的链接。 诚然,我有点超出了我的深度,但我正在浏览这个答案,我看到: [A]TypeScript 安全性的很大一部分来自于这样一个事实:[...]只有当它知道它明确地打算作为一个对象时,它才会让您将对象视为字典。 这与我的测试一致。修改您的界面以明确将 Foo.foo 视为索引不会产生错误。 (游乐场链接) interface Foo { [foo: string]: number } const foo = { foo: 1 } const bar: Record<string, unknown> = foo 这并不能完全回答您的问题,因为 Record<string, any> 适用于您的显式界面,但也许知识渊博的人可以从这里获取它。 Record<string, unknown> 需要索引签名(参见 GitHub 上的此评论)。 所以这无法编译: interface X { a: boolean; b: number; } const x: X = { a: true, b: 1 }; const y: Record<string, unknown> = x; // error 编译成功: interface X { [key: string]: unknown; a: boolean; b: number; } const x: X = { a: true, b: 1 }; const y: Record<string, unknown> = x; // okay 这也可以成功编译,因为推断了类型的索引签名(参见 GitHub 上的此评论): type X { a: boolean; b: number; } const x: X = { a: true, b: 1 }; const y: Record<string, unknown> = x; // okay 这也可以成功编译,因为 Record<string, any> 不需要索引签名(参见 GitHub 上的此评论): interface X { a: boolean; b: number; } const x: X = { a: true, b: 1 }; const y: Record<string, any> = x; // okay

回答 3 投票 0

为什么缩小闭包内部的范围不适用于属性对象,但适用于声明的变量?

我试图理解为什么 Typescript 无法正确获取内部函数内部的对象属性参数的类型,该参数可能是未定义的,但是当将相同的属性分配给其时......

回答 1 投票 0

为什么java有原始char?

当我学习几种不同的语言时,我发现java是唯一具有“char”数据类型的语言。例如,javascript 的 charAt() 返回一个字符串,而在 java 中,方法 r...

回答 3 投票 0

动态检查 TypeScript 对象是否有没有自定义类型保护的键

如果将键写为字符串文字,我可以使用 TypeScript 的 in 关键字以类型安全的方式检查对象是否具有键: 函数 GuardHasTest ( 值:数据 ): 数据&...

回答 1 投票 0

在 Java 中的 Stream() 上的三元运算符中使用“instanceof”测试混合类型列表的每个元素时出现推理错误

我知道这可能是 Java 中的设计缺陷,但我想处理具有未知类型的列表(在 Python 中很容易做到),用 lambda 函数映射每个元素,该函数测试类型并输出 som.. .

回答 1 投票 0

对使用另一个对象键和值类型的对象使用 TS 泛型

我在打字稿中使用泛型时遇到一些问题。 我想使用泛型基于另一种对象类型创建一个对象。 我的出发点是 TS 的这篇文档 这就是我想到的所以...

回答 1 投票 0

具有可选功能的对象的打字稿类型

我在打字稿项目中有一组对象,我想为其创建类型。每个对象实现三个函数 a、b 和 c 的某种组合。我想创建一种类型,以便...

回答 1 投票 0

Typescript - 如何键入函数以确保两个属性的键具有相同的属性类型

我有以下打字稿功能(针对这个问题进行了简化): 函数分配(o1:T1,k1:T1的键,o2:T2,k2:T2的键){ o1[k1] = o2[k2]; } 我想确保数据...

回答 2 投票 0

Julia 在 Vararg 类型上进行多重调度

以下代码片段有效(Julia 1.10.2)。 mytupletype = Tuple{String, Vararg{String}} f(DBTable::String) = "从 $DBTable 中选择 *" f(DBTable::String, date::String) = "选择 ...

回答 1 投票 0

Oracle中默认的数据类型varchar2、CHAR或BYTE是什么?

在oracle中,您显然可以指定是否希望将varchar2数据类型长度表示为字节长度或字符长度。 varchar2(10字节) 与 varchar2(10 个字符) 我的问题是,如果我不特别...

回答 1 投票 0

尝试从 UserForm 获取 ListBox 值,但出现此错误:运行时错误 13:类型不匹配

将用户窗体添加到 Power Point 文件中。 在该用户窗体上放置一个命令按钮和一个列表框。 将以下代码放在 UserForm 下。 公共子用户窗体_Initialize() 用户窗体1.ListBox1.A...

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.