JSFiddle - React, Tailwind, and code Playground
by acbabis
JavaScript
const lang = Object.freeze({
person: {
name: 'Zach',
address: {
line1: '123 fake st.'
}
}
})
const smartLang = new Proxy(lang, {
get: function(target, prop) {
if (target[prop]) {
return target[prop];
} else {
const props = prop.split('.');
return props.reduce((obj, prop) => obj[prop], target);
}
}
});
$('<div>').text(smartLang['person.name']).appendTo(document.body);
$('<div>').text(smartLang['person.address.line1']).appendTo(document.body);