«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > `console.log` показывает причину исключения измененного значения объекта

`console.log` показывает причину исключения измененного значения объекта

Опубликовано в 2025-04-15
Просматривать:745

Why Does `console.log` Show Unexpected Object Values After Modification?

objects and console.log: нечетность раскрыта

При работе с объектами и console.log вы можете встретить своеобразное поведение. Давайте разгадым эту тайну, анализируя этот фрагмент кода:

foo = [{id: 1},{id: 2},{id: 3},{id: 4}, {id: 5}, ];
console.log('foo1', foo, foo.length);
foo.splice(2, 1);
console.log('foo2', foo, foo.length);

в Chrom [Объект, объект, объект, объект, объект] 5 0: объект 1: объект 2: объект 3: объект Длина: 4 __proto__: массив [0] 5 (индекс): 23 foo2 [Объект, объект, объект, объект] 4 0: объект 1: объект 2: объект 3: объект Длина: 4 __proto__: array [0]

foo1 
[Object, Object, Object, Object, Object]  5
    0: Object
    1: Object
    2: Object
    3: Object
    length: 4
    __proto__: Array[0]
     5 (index):23
foo2 
[Object, Object, Object, Object]  4
    0: Object
    1: Object
    2: Object
    3: Object
    length: 4
    __proto__: Array[0]
асинхронный экзамен

] Ключ к пониманию этого поведения заключается в асинхронном характере объектного экзамена через консоль.log. В то время как консоль получает ссылку на синхронную информацию о объекте, она не отображает свои свойства, пока вы не развернете ее вручную. Это происходит асинхронно, что приводит к, казалось бы, нелогичному выводу.

методы отладки

Чтобы избежать этого несоответствия, рассмотрим эти методы отладки:

. console.log (obj.foo, obj.bar, obj.baz);) ]

json encode:

преобразовать объект в строку с использованием json.stringify (obj)

  • интеллектуальные копии: ]
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3