javascript - 是否可以部分定义对象类型?
问题描述
我有一些大意
function(param1, { knownParam1, ...opts })
我想输入它来至少描述 param1 和 knownParam1。我在想类似的事情:
type Param2 = {
knownParam1: string,
...otherParams: any
}
type Parameters = {
param1: string
param2: Param2
}
TypeScript 支持这种概念吗?我有一种感觉,这并不是因为解构是一个新概念。
解决方案
是的,您可以通过以下方式实现您正在寻找的东西:
type Param2 = {
knownParam: string;
[key: string]: unknown;
}
function myFn(param1: string, param2: Param2) {
const {
knownParam,
...opts
} = param2;
// ...
}
参数二的类型是一个具有任何已知属性与任何其他未知类型属性相交的对象。
推荐阅读
- c# - Json .Net 添加到现有的 Json 文件
- node.js - Nginx代理+节点:上游过早关闭连接,同时从上游读取响应头
- python - Setup.py、、setuptools、cmdclass - 自定义命令不起作用
- linux-kernel - x86 如何为 Linux 中的 PCI 设备分配中断号?
- css - 如何使 100% 表格高度与最小高度父级一起使用
- azure - 使用依赖注入在 Azure Functions 中传递配置和初始化客户端
- lua - 脚本错误:@esx_society/server/main.lua:39:尝试索引 nil 值(字段“?”)
- c# - 为什么我的另一个类方法中的变量没有被注册?
- docker - 无法设置 docker-compose 文件以在 7.3.2 版启动 kibana
- excel - 将鼠标指针坐标转换为数据坐标和图形对象坐标