Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Как распознать экранированные символы ("a" vs "\a")? (https://javascript.ru/forum/misc/59954-kak-raspoznat-ehkranirovannye-simvoly-vs-%5C.html)

nerv_ 04.12.2015 20:34

Цитата:

Сообщение от FINoM (Сообщение 398709)
nerv_, проблема в том, что
"string." === "string\."

Мне прислали багрепорт, а как пофиксить, без добавления флагов, я пока не понимаю.

alert("string\.") // это экранирование точки;
alert("string\\.") // это двойной обратный слеш;

FINoM 05.12.2015 11:34

nerv_, ну а что человеку делать, если свойство заканчивается двойным обратным слешем?
"a\\.b"
Он хочет именно так, без экранирования.

nerv_ 05.12.2015 12:14

FINoM, я говорю, что твой пример, процитированный мной выше, выдает истину потому, что обратный слеш воспринимается интерпретатором в данном случае как экранирование. Т.е. его просто нет в переменной/выводе.
По крайней мере мне так кажется :)

Цитата:

Сообщение от FINoM
ну а что человеку делать, если свойство заканчивается двойным обратным слешем?

не знаю, что делать человеку. Вижу только, что у тебя проблема в логике интерпретации символов, обозначенных в issue.

Цитата:

Сообщение от FINoM
ну а что человеку делать, если свойство заканчивается двойным обратным слешем?
"a\\.b"

нету здесь "двойнго обратного слеша"
alert("a\\.b");

FINoM 05.12.2015 12:18

Цитата:

Сообщение от nerv_
нету здесь "двойнго обратного слеша"

Сорри, одним обратным слешем.


Часовой пояс GMT +3, время: 12:38.