Open
Description
ES6 introduces dynamic property names in object expressions:
var x = 42;
var obj = {
[ 'prop_' + x ]: 42
};
At the moment, eslisp's object
macro can't unambiguously accommodate that. Given that (object a b)
compiles to { a : b }
, what should compile to { [a] : b }
?
Similarly to previously in #13, this can't simply be solved by having (object "a" b)
compile to { a : b }
instead and (object a b)
to { [a] : b }
, because it must continue to be possible to express both { a : b }
and { "a" : b }
for stuff like Google's closure compiler, and for when it's necessary to ensure that part of the code is also valid JSON.