我正在考虑的用例是创建一个绝望的以自我Null
为中心的合并。
此代码有效,但需要对相关Null
问题进行明确检查:
const Null = new Proxy({}, {get: () => Null});
let data = Null;
console.log(data.a.b.c.d !== Null ? "Has value" : "Is Null");
我希望能够省略显式检查并简单地做
console.log(data.a.b.c.d ? "Has value" : "Is Null");
但这不起作用,因为 myNull
是一个对象,因此被视为真实。
该规范似乎表明这是不可能的,但是 javascript 是一个如此奇怪的生态系统,我希望有人能够提出一个可能的解决方案。
(另外请不要争论这种类型的优点Null
,我知道这是一个潜在的有争议的问题,我完全感兴趣的是它是否可以完成,而不是是否应该完成。)