Destructuring based on access
up: JavaScript
Antfu: Destructuring… with object or array?
Untested code from ChatGPT
function getHtml() {
const string = "string content";
const object = { main: "foo", intro: "bar" };
// Create a proxy to handle the destructuring
return new Proxy(
{},
{
get(target, prop) {
// If the property accessed is part of the object, return the object
if (prop in object) {
return object[prop];
}
// Otherwise, return the string
return string;
},
ownKeys(target) {
return Object.keys(object);
},
getOwnPropertyDescriptor(target, prop) {
return {
enumerable: true,
configurable: true
};
}
}
);
}
// Usage examples
const html = getHtml(); // should be "string content"
console.log(html); // "string content"
const { main, intro } = getHtml(); // should be {main: "foo", intro: "bar"}
console.log(main); // "foo"
console.log(intro); // "bar"