Once I was working with i18next and wanted to get better inference from translation keys. Usually, with translation libraries, we pass keys as strings: translate ( " user.profile.title " ); And strings are fine... until they are not. I wanted something closer in spirit to C# expression trees. Not real expression trees, of course — JavaScript does not have those. But something like this: translate ( $ => $ . user . profile . title ); ...