我想知道是否可以在 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
并且这样做的能力应该是无限的
笔记
这些可以是函数而不是对象。呼叫不必完全像这样。