我想知道是否可以在 Javascript 中拥有相互递归的对象,如果可以,如何实现?
目标:
我想要三个对象:
- 一个表示
Boolean具有两个值的类型,True并且False - 代表类型
True对象的一个Boolean - 代表类型
False对象的一个Boolean
诀窍是我想问True对象它的类型,我应该取回Boolean对象,我想问一个Boolean对象它的值,我应该取回 2 个对象:True对象和False对象。
但它应该完全是相互递归的,因为我得到了这样的东西(尽管它不一定必须完全像这样):
True
// {name : "True", type : [Object object]}
False
// {name : "False", type : [Object object]}
Boolean
// {name : "Boolean", values : [Object object]}
Boolean.values
// {True: [Object object], False: [Object object]}
True.type
// {name : "Boolean", values : [Object object]}
False.type
// {name : "Boolean", values : [Object object]}
Boolean.values.True
// {name : "True", type: [Object object]}
Boolean.values.True.type
// {name : "Boolean", values : [Object object]}
Boolean.values.True.type.values
// {True : [Object object], False: [Object object]}
等等...
如果有帮助,它们应该满足以下属性:
Boolean === Boolean.values.True.type
Boolean === Boolean.values.True.type.values.True.type
True === Boolean.values.True
True === True.type.values.True.type.values.True.type.values.True
False === Boolean.values.False
False === True.type.values.False
并且这样做的能力应该是无限的
笔记
这些可以是函数而不是对象。呼叫不必完全像这样。