typescript - 在打字稿中从界面创建对象
问题描述
我是 javascript 和打字稿的新手。我正在尝试从接口声明变量。我想稍后填充初始化变量的值。然后我想将所有这些变量推送到接口类型的数组中。
这是正确的方法吗?
interface Car{
name: string;
year?: number;
}
let c1: Car = {} as Car;
c1.name = "Audi";
let c2: Car = {} as Car;
c2.name = "BMW";
let c: Array<Car> = [];
c.push(c1);
c.push(c2);
解决方案
您声明c1
为类型的对象,Car
然后您不关心它并使用{}
(错误地断言为 a Car
)对其进行初始化。这没有任何意义。
改为使用let c1: Car = { name: 'Audi' };
。
并let c: Array<Car> = [ c1, c2 ];
声明和初始化数组。
interface Car {
name: string;
year?: number;
}
let c1: Car = { name: 'Audi' };
let c2: Car = { name: 'BMW', year: 2015 };
let c: Array<Car> = [c1, c2];
更短、更干净、类似 OOP。
推荐阅读
- python - 使用 python 打开一个新终端并在该终端中运行命令
- scale - 记录数据的绘图箱线图中的对数刻度
- javascript - 如何使用 axios 将图像和文本放入 api
- c - 如何使用 FFMPEG 加速时间线清理?
- spring - Feign 将 GET 方法识别为 POST
- regex - preg 用多个大括号替换
- windows - 将 UDP 数据包转发到外部网络
- java - 如何更改 Object 实例并在同一方法中返回值?
- azure-aks - 错误:为处于 CREATED 状态的 pod 分配身份失败 - AKS AAD-Pod 身份
- javascript - 获取固定 div 容器内元素的绝对位置