При вводе объекта с несколькими свойствами в консоли разработчика возникает ошибка

Я столкнулся с некоторым поведением в Chrome Dev Console (и Firebug), которое я не совсем понимаю...

Если я ввожу объект JSON с мульти-свойством непосредственно в консоль, я получаю следующую ошибку:

введите здесь описание изображения

В результате я ожидаю, что объект будет возвращен точно так, как я его ввел, почти так же, как если бы я должен был напрямую ввести строковое или числовое значение.

Обратите внимание, что это другой результат, чем если бы я ввел объект с одним свойством:

введите здесь описание изображения

Что тут происходит? Почему выдает SyntaxError?


person adamb    schedule 17.04.2013    source источник
comment
Заключите его в круглые скобки, открывающая скобка интерпретируется как разделитель блоков, а не литерал объекта.   -  person bfavaretto    schedule 17.04.2013
comment
возможный дубликат SyntaxError: Неожиданный токен: при вводе { a: , б: } json в консоли   -  person bfavaretto    schedule 17.04.2013


Ответы (2)


Оценка объекта непосредственно в консоли работает с Chrome 66.

объект в консоли

person Kayce Basques    schedule 31.01.2018

Консоль оценивает все, что вы вводите. Если вы eval() добавите свой объект JSON напрямую, вы получите те же результаты.

eval("{foo1: 1, foo2: 2}")
// SyntaxError: Unexpected token :

Если вы присваиваете свой объект переменной, синтаксической ошибки нет.

// in console
> var foo = {foo1: 1, foo2: 2};
undefined
> foo
Object {foo1: 1, foo2: 2}
person Tim S.    schedule 18.04.2013