Что означает TypeError non_object_property_load? - PullRequest
13 голосов
/ 13 октября 2011

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

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

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

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

1 Ответ

21 голосов
/ 13 октября 2011

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

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

null.foo;

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


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

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...