Случаят на използване, който обмислям, е създаването на безнадеждно егоцентричен 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");
но това не работи, защото моето Null
е обект и като такъв се третира като верен.
спецификация изглежда показва, че това не е Не е възможно, но javascript е толкова странна екосистема, че се надявам някой да успее да предложи възможно решение.
(Също така, моля, не обсъждайте достойнствата на този вид Null
, знам, че това е потенциално спорен въпрос и се интересувам само дали МОЖЕ да се направи, а не дали ТРЯБВА да се направи.)