Каков наилучший способ проверить свойство undefined в шаблоне ejs?
(Я использую node.js пакет от TJ Holowaychuk)
Пример:
var tpl = '<% if (foo) { %>foo defined<% } else { %>foo undefined<% } %>';
console.log(ejs.render(tpl, { locals: { bar: "baz" } }));
Я ожидаю, что это сделает "foo undefined". Вместо этого он выдает ошибку foo undefined.
Я знаю, что это не должно быть проблемой, так как это ожидаемое поведение в тестах. Есть ли простой способ избежать этого?
Единственное найденное мной решение - использовать метод hasOwnProperty
.
var tpl = '<% if (hasOwnProperty("foo")) { %>foo defined<% } else { %>foo undefined<% } %>';
console.log(ejs.render(tpl, { locals: { bar: "baz"} }));
Это не вызывает никаких ошибок.
Есть ли лучший способ сохранить шаблон в чистоте? Или почему это ошибка?