Ошибка "Cannot read properties of null"
Добрый день!
Недавно начала учить JS, по условию задания надо создать скрипт, ищущий книгу в библиотеке. Я написала вот это: findBookBy(type, value){ for(let i=0; i<this.books.length; i++){ if(type==this.name[i]&&type==this.author[i]&&type==this.releaseDate[i]&&type==this.type[i]){ return [value]; }else{ return null; } } } И у меня в тестах выскакивает "Cannot read properties of null (reading 'name')". Я так понимаю, не хватает привязки к классу Book, но не понимаю как её реализовать. Помогите, пожалуйста, разобраться. |
Мало информации. Ошибка такая возникает потому, что где-то в коде есть что-то.name где что-то имеет значение null.
В приведённом коде чтение name происходит только в this.name, однако если бы this было null, то до этого места исполнение бы просто не дошло, а свалилось с похожей ошибкой ещё на this.books.length. Так что нужно больше кода. Ну и если вы в консоли тыкнете по ошибке - у вас откроет проблемное место в отладчике. |
Там сам код довольно большой, я скинула его в репозиторий, не знаю какой кусок кода может быть полезен.
|
Цитата:
|
Цитата:
class Library{ constructor(name){ this.name = name; this.books = []; } ни author ни releaseDate ни type Они есть в классе PrintEditionItem, Но Library не наследует от него |
Цитата:
Цитата:
|
Цитата:
Я не вижу, ка создаются экземпляры этого класса, и как вызывается функция. |
Вот здесь идет создание экземпляров, чуть ниже - их вызов.
|
Всё, разобралась, спасибо всем большое!
|
Часовой пояс GMT +3, время: 09:50. |