Как отловить эту ошибку для неопределенного свойства объекта? - PullRequest
0 голосов
/ 29 апреля 2019

У меня есть метод поиска, который использует API и возвращает список совпадений вместе со свойствами, такими как 'id' и 'title', но только некоторые из них имеют заголовок.Когда заголовок отсутствует, я получаю ошибку undefined.

Я перепробовал множество вариантов if = undefined, но все возвращается с этой ошибкой:

Невозможно прочитать свойство 'title 'of undefined

           <% if (results.length == 0){ %>
              <h1>No Matching Results</h1>
           <% } else if(typeof results[i].id !== "undefined"){ %>
              <a href="/second/<%= results[i].id %>">
                 <%= results[i].name %>
                 <% if(results[i].known_for[0].title) { %>
                    Known For: <%= results[i].known_for[0].title %>
                 <% } else { %>
                    Known For: Nothing
                 <% } %>
             </a>
            <% } %>

Я просто хочу, чтобы он выводил заголовок, если он был предоставлен, и затем имел оператор else, если это не так.

1 Ответ

0 голосов
/ 29 апреля 2019

           <% if (results.length == 0){ %>
              <h1>No Matching Results</h1>
           <% } else if(typeof results[i].id !== "undefined"){ %>
              <a href="/second/<%= results[i].id %>">
                 <%= results[i].name %>
                 <% if(results[i].known_for[0].title !== undefined || results[i].known_for[0].title !== "undefined" || results[i].known_for[0].title !== null) { %>
                    Known For: <%= results[i].known_for[0].title %>
                 <% } else { %>
                    Known For: Nothing
                 <% } %>
             </a>
            <% } %>
...