проверка неопределенной переменной с помощью Underscore.js

У меня проблема с шаблонами Underscore.js и Internet Explorer. Вот часть шаблона, которая вызывает проблемы:

<p>
  <% if ( typeof description !== 'undefined' ) { %>
    <%- description %>
  <% } else { %>
    No description
  <% } %>
</p>

Когда переменнаяdescription не определено (что означает, что я не предоставляю его шаблону, переменная не существует), это прекрасно работает в Safari, Firefox, Chrome.

Internet Explorer, однако, не работает правильно. Вместо показаNo description IE8 и IE9 показывают[object HTMLMetaElement]и IE7 показывает[object].

Проверка результатаtypeof description возвращаетсяundefined в Safari, Firefox, Chrome, но, по-видимому, Internet Explorer возвращаетobject вместо.

Я уже пробовал Underscore.js_.isUndefined(value) функция, но это не работает, когда переменная не существует.

Кто-нибудь знает обходной путь для этой проблемы? (обратите внимание, что я не могу предоставить переменную без значения - она либо существует, либо нет)

Обновить Я нашел обходной путь в одном из вопросов Github Underscore.jshttps://github.com/documentcloud/underscore/issues/237#issuecomment-1781951

Может кто-нибудь объяснить, почему IE ведет себя по-разному, и почему обходной путь действительно работает?

Обновление 2 @ John-DavidDalton предоставил другой, лучший обходной путь в комментариях ниже (прямая ссылка на него, похоже, не работает)

Ответы на вопрос(2)

Ваш ответ на вопрос