Подтвердить что ты не робот

Что означает TypeError non_object_property_load?

Я вижу эту ошибку связкой в ​​javascript, которую я отлаживаю. В консоли JS Chrome говорит что-то очень похожее на

TypeError
    arguments: Array[2]
    message: "-"
    stack: "-"
    type: "non_object_property_load"
    __proto__: Error

Я обычно могу поработать над основной проблемой, но в целом, что представляет собой ошибка?

Есть ли способ получить трассировку стека к строке, которая вызвала проблему?

4b9b3361

Ответ 1

Вы пытаетесь получить доступ к чему-либо из null или undefined.

Например, этот код выдает такую ​​ошибку:

null.foo;

Вы должны проверить, какие свойства вы получаете от каких объектов, и использовать что-то вроде obj && obj.prop вместо obj.prop.


Вы можете получить трассировку стека, используя:

console.log(new Error().stack);

- означает, что свойство является получателем, и оно не отображается автоматически, потому что геттер может иметь побочные эффекты. Стек доступен хотя (- не означает "недоступно" ); вам просто нужно получить к нему доступ явно.