首页 > 解决方案 > 初始化某个类的对象时如何强制所有属性初始化 打字稿

问题描述

我想在创建(某个类的)对象时初始化所有属性,如果我没有这样做,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 的当前状态下实现,但我很想看到这个问题的一些解决方案。

标签: typescriptclass

解决方案


推荐阅读