Ошибка типа this.a.b не определена

#javascript

#javascript

Вопрос:

Я получил сообщение об ошибке в моем журнале kibana, в котором говорится следующее: this.a.b is undefined . Я немного озадачен формулировкой, поскольку я обычно получаю cannot read property b of undefined , когда речь идет о неопределенном свойстве.

Единственное место, где я использую это свойство, я присваиваю ему значение: this.a.b = 'hello' — может ли назначение быть причиной такой формулировки?

Заранее спасибо

Комментарии:

1. вы инициализируете this.a?

2. Проверьте, действительно ли this.a является объектом. Не видя вашего кода, трудно интерпретировать происходящее.

3. сначала инициализируйте this.a следующим образом : this.a={};this.a.b='hello'

Ответ №1:

Не видя свой код: напишите nullguard следующим образом:

 if( this amp;amp; this.a amp;amp; this.a.b) { /*do stuff*/}
  

С помощью этого вы убедитесь, что элемент, над которым вы хотите выполнить действие, находится там.

Комментарии:

1. Кажется, что нужно if (this.a) { ... } только избегать TypeError.