Как лучше всего проверить неопределенное свойство в шаблоне 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"} }));
Это не выдает никаких ошибок.
Есть ли лучший способ содержать шаблон в чистоте? Или почему выдает эту ошибку?