Используя Javascript и E JS, почему символ \ escape может превратить одну кавычку "в две кавычки" "? - PullRequest
2 голосов
/ 20 февраля 2020

Среда: 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>
...