2.9 KiB
id | title | challengeType | videoUrl | forumTopicId | dashedName |
---|---|---|---|---|---|
56533eb9ac21ba0edf2244b6 | Escapar sequências em strings | 1 | https://scrimba.com/c/cvmqRh6 | 17567 | escape-sequences-in-strings |
--description--
Aspas não são os únicos caracteres que podem ser escapados dentro de uma string. Há dois motivos para usar caracteres de escapamento:
- Para permitir que você use caracteres que você pode não ser capaz de digitar do contrário, como o caractere de nova linha.
- Para permitir que você represente várias aspas em uma string sem o JavaScript entender erroneamente o que você quis dizer.
Aprendemos isso no desafio anterior.
Código | Saída |
---|---|
\' | aspas simples |
\" | aspas duplas |
\\ | barra invertida |
\n | nova linha |
\t | tab |
\r | retorno de carro |
\b | limite de palavra |
\f | quebra de página |
Note que a própria barra invertida deve ser escapada para ser exibida como uma barra invertida.
--instructions--
Atribua as três linhas de texto a seguir em uma única variável myStr
usando sequências de escapamento.
FirstLine
\SecondLine
ThirdLine
Você precisará usar sequências de escapamento para inserir corretamente os caracteres especiais. Você também precisará seguir os espaçamentos assim como acima, sem espaços entre sequências de escapamento ou palavras.
Observação: a identação para SecondLine
é alcançada com o caractere de espaçamento tab, e não com espaços.
--hints--
myStr
não deve conter espaços
assert(!/ /.test(myStr));
myStr
deve conter as strings FirstLine
, SecondLine
e ThirdLine
(lembre-se da sensibilidade de maiúsculas e minúsculas 'case sensitivity')
assert(
/FirstLine/.test(myStr) && /SecondLine/.test(myStr) && /ThirdLine/.test(myStr)
);
FirstLine
deve ser seguido pelo caractere de nova linha \n
assert(/FirstLine\n/.test(myStr));
myStr
deve conter o caractere de tabulação \t
, que vem após um caractere de nova linha
assert(/\n\t/.test(myStr));
SecondLine
deve ser precedida pelo caractere de barra invertida \
assert(/\\SecondLine/.test(myStr));
Deve ter um caractere de nova linha entre SecondLine
e ThirdLine
assert(/SecondLine\nThirdLine/.test(myStr));
myStr
deve conter apenas caracteres mostrados nas instruções
assert(myStr === 'FirstLine\n\t\\SecondLine\nThirdLine');
--seed--
--seed-contents--
const myStr = ""; // Change this line
--solutions--
const myStr = "FirstLine\n\t\\SecondLine\nThirdLine";