我可以(以某种方式?)* 禁止 * 在 typescript 中跳过可选参数吗?
class MyList {
constructor(
public head?: number,
public tail?: MyList
){}
}
const L0 = new MyList(); // <--- empty element list - good !
const L1 = new MyList(888); // <--- single element list - good !
const L2 = new MyList(777, L0); // <--- general list - good !
const L3 = new MyList(undefined, L1); // <--- forbid this
我想在我的列表上 * 静态地 * 强制执行以下属性:
- 如果
head
是undefined
,那么tail
也是undefined
(并且列表为空)
有没有TypeScript技巧可以实现这一点?(这个问题是this question的“补充”)
1条答案
按热度按时间vmdwslir1#
你可以使用overloading,它对TS中的方法和函数都有效,基本思想是你有一个函数/方法实现,有所有可能的参数,你可以指定函数参数的不同组合(就像你的情况一样,你可以有0个参数,只有第一个参数,或者两个都有)。