[英]TypeScript: how do I initialize an object and give some default values from its type
我有一个名为Obj
的接口,它包含一堆boolean
interface Obj {
isVisited: boolean,
isChecked: boolean,
isToggled: boolean
}
我想初始化这个类型的 object 并为它的每个属性分配false
const obj: Obj = {
isVisited: false,
isChecked: false,
isToggled: false
}
我想知道是否有一种编程方式来执行此操作而不是手动将其绑定?
您可以创建一个 class 来实现Obj
接口,其属性具有默认值。
class ObjClass implements Obj {
isVisited: boolean = false;
isChecked: boolean = false;
isToggled: boolean = false;
}
const obj = new ObjClass();
现在, obj
有 3 个属性,默认值为false
。
或者,尽量保持简单,您可以创建一个factory
function 来创建默认值 object。
function genObjDefault(): Obj {
return {
isVisited: false,
isChecked: false,
isToggled: false
}
}
const obj = genObjDefault();
我将 go 反过来:实例化一个 object,然后从 object 中获取类型:
const obj = {
isVisited: false,
isChecked: false,
isToggled: false
}
type Obj = typeof obj;
据我所知,您不能对接口进行默认初始化,但您可以使用如下默认值创建 class。
class TestA {
private label = "";
protected value = 0;
public list: string[] = null;
}
发出 javascript 将是
var TestA = /** @class */ (function () {
function TestA() {
this.label = "";
this.value = 0;
this.list = null;
}
return TestA;
}());
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.