Предполагая, что эта функциональность аналогична javascript eval
, вы получаете эту ошибку, потому что eval("{a:1,b:2}")
оценивает {}
как блок кода, а не как литерал объекта.
Этот код эквивалентен:
{
a: 1,
b: 2
}
Ошибка выдается в строке b: 2
. Здесь a
становится оператором с пометкой в новом блоке {}
. Итак, если бы вы создали литерал объекта только с одним свойством, это сработало бы.
eval("{a:1}") // no errors
Если вам нужен литерал объекта, присвойте его переменной
eval("var obj = {a:1,b:2}")
console.log(obj)