typescript - 初始化某个类的对象时如何强制所有属性初始化 打字稿
问题描述
我想在创建(某个类的)对象时初始化所有属性,如果我没有这样做,Typescript 必须给出错误。
例如:
type cars = "Honda" | "Ford" | "Audi";
class Vehicle{
car:cars;
}
const vehicles = new Vehicle();
// tsc should give error as vehicles.car is not initialized.
我知道有一种方法可以在定义类时初始化属性:
type cars = "Honda" | "Ford" | "Audi";
class Vehicle{
car:cars = "Honda";
}
但是,当必须在创建对象而不是类声明时确定值时,它是没有用的。
一个实际的问题陈述是假设我有一个具有 5 个属性的类,我在创建它的对象时对其进行了初始化。此类用于在整个项目中创建对象。后来,当我向这个类添加任何新属性时,编译器应该抛出一些错误,因为这些新属性没有被它的所有对象初始化。通过这种方式,我会得到通知,无论我在哪里创建对象,我都必须初始化这些新属性。
我不确定这是否可能在 TS 的当前状态下实现,但我很想看到这个问题的一些解决方案。
解决方案
推荐阅读
- gradle - findByName() 方法为 gradle 插件任务返回 null
- linux - Kali Linux 安装 Bluto
- ubuntu-14.04 - inotifywait 偷偷消耗大量内存
- wiremock - 使用我自己的自签名证书连接到 Wiremock 时出现 SSLHandshakeException
- google-bigquery - 如何比较 Google Bigquery 中的先前行和当前行?
- python - 无法杀死 macOS python 进程
- python - 使用 Python Selenium 时缺少数据/内容
- flutter - 应用程序用户之间的区块链 BFT 共识的 Flutter 包
- windows - 在 MRTK 2.3 中启用“空间感知系统”时,HoloLens(第一代)-模拟器上的应用程序崩溃
- c# - 与常规垃圾收集相比,.NET Core 中的 AssemblyLoadContext.Unload() 的值是多少?