Среда: Node.js, Express, E JS
Вопрос: Почему экранирующий символ \
может превратить одну кавычку "
в две кавычки ""
?
Справочная информация: В следующем упрощенном примере я отправляю объект (emailField) в файл E JS для рендеринга. Это не выдает ошибку, но вывод является неожиданным, и я не уверен, почему я получаю двойной "".
Маршрут Express:
app.get('/my_form', function(req, res, next){
emailField = {
attributes: 'type=\"email\" minLength=\"5\" maxLength=\"50\" autofocus'
\\ same output if I use single quote "
\\ attributes: 'type="email" minLength="5" maxLength="50" autofocus'
}
res.render('my_form', emailField);
});
Из my_form E JS:
<input <%= emailField.attributes %>>
Вывод в Chrome:
<input type=""email"" minlength=""5"" maxlength=""50"" autofocus>