javascript - TypeScript:如何初始化对象并为其类型提供一些默认值

标签 javascript typescript

我有一个名为 Obj 的接口(interface),它包含一堆 boolean

interface Obj {
  isVisited: boolean,
  isChecked: boolean,
  isToggled: boolean
}

我想初始化这种类型的对象,并为它的每个属性分配 false

const obj: Obj = {
  isVisited: false,
  isChecked: false,
  isToggled: false
}

我想知道是否有一种编程方式来做到这一点,而不是手动绑定(bind)它?

最佳答案

您可以创建一个实现 Obj 接口(interface)并具有默认属性值的类。

class ObjClass implements Obj {
  isVisited: boolean = false;
  isChecked: boolean = false;
  isToggled: boolean = false;
}

const obj = new ObjClass();

现在,obj有3个属性,默认值为false

或者,尝试保持简单,您可以创建一个工厂函数来创建默认对象。

function genObjDefault(): Obj {
  return {
    isVisited: false,
    isChecked: false,
    isToggled: false
  }
}

const obj = genObjDefault();

关于javascript - TypeScript:如何初始化对象并为其类型提供一些默认值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63698081/

相关文章:

javascript - React AddItem 以在另一个组件中列出

javascript - 以随机顺序打印数组?

javascript - _.pluck 的对象等价物是什么

javascript - jQuery - 在 ajax 调用后使用长度查找 div

javascript - 自 Jest 26+ 以来如何兑现 promise

javascript - 对象值中的两条垂直线在 JavaScript 中意味着什么?

angular - 如何将同一个对象的属性传递给 Angular 中的函数?

css - 如何从 webpack angular2 应用程序中的 node_modules 导入 CSS

javascript - 如何将数据从组件传递到包含数组的 .ts 文件?

java - RSA 使用 JSEncrypt 加密并使用 BouncyCaSTLe (Java) 解密