2021-06-15 00:49:18 -07:00
---
id: 56533eb9ac21ba0edf2244b6
2021-07-21 20:53:20 +05:30
title: Escapar sequências em strings
2021-06-15 00:49:18 -07:00
challengeType: 1
videoUrl: 'https://scrimba.com/c/cvmqRh6'
forumTopicId: 17567
dashedName: escape-sequences-in-strings
---
# --description--
2021-07-26 23:39:21 +09:00
Aspas não são os únicos caracteres que podem ser < dfn > escapados< / dfn > dentro de uma string. Há dois motivos para usar caracteres de escapamento:
2021-06-15 00:49:18 -07:00
2021-07-26 23:39:21 +09:00
1. Para permitir que você use caracteres que você pode não ser capaz de digitar do contrário, como o caractere de retorno de carro.
2. Para permitir que você represente várias aspas em uma string sem o JavaScript entender erroneamente o que você quis dizer.
2021-06-15 00:49:18 -07:00
2021-07-09 21:23:54 -07:00
Aprendemos isso no desafio anterior.
2021-06-15 00:49:18 -07:00
2021-07-09 21:23:54 -07:00
< table class = 'table table-striped' >< thead >< tr >< th > Código</ th >< th > Saída</ th ></ tr ></ thead >< tbody >< tr >< td >< code > \'</ code ></ td >< td > aspas simples</ td ></ tr >< tr >< td >< code > \"</ code ></ td >< td > aspas duplas</ td ></ tr >< tr >< td >< code > \\</ code ></ td >< td > barra invertida</ td ></ tr >< tr >< td >< code > \n</ code ></ td >< td > nova linha</ td ></ tr >< tr >< td >< code > \r</ code ></ td >< td > retorno de carro</ td ></ tr >< tr >< td >< code > \t</ code ></ td >< td > tab</ td ></ tr >< tr >< td >< code > \b</ code ></ td >< td > limite de palavra</ td ></ tr >< tr >< td >< code > \f</ code ></ td >< td > quebra de página</ td ></ tr ></ tbody ></ table >
2021-06-15 00:49:18 -07:00
2021-07-09 21:23:54 -07:00
*Note que a própria barra invertida deve ser escapada para ser exibida como uma barra invertida.*
2021-06-15 00:49:18 -07:00
# --instructions--
2021-07-09 21:23:54 -07:00
Atribua as três linhas de texto a seguir em uma única variável `myStr` usando sequências de escapamento.
2021-06-15 00:49:18 -07:00
< blockquote > FirstLine< br > \SecondLine< br > ThirdLine</ blockquote >
2021-07-26 23:39:21 +09:00
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.
2021-06-15 00:49:18 -07:00
2021-07-26 23:39:21 +09:00
**Observação:** a identação para `SecondLine` é alcançada com o caractere de espaçamento tab, e não com espaços.
2021-06-15 00:49:18 -07:00
# --hints--
2021-07-09 21:23:54 -07:00
`myStr` não deve conter espaços
2021-06-15 00:49:18 -07:00
```js
assert(!/ /.test(myStr));
```
2021-07-09 21:23:54 -07:00
`myStr` deve conter as strings `FirstLine` , `SecondLine` e `ThirdLine` (lembre-se da sensibilidade de maiúsculas e minúsculas 'case sensitivity')
2021-06-15 00:49:18 -07:00
```js
assert(
/FirstLine/.test(myStr) & & /SecondLine/.test(myStr) & & /ThirdLine/.test(myStr)
);
```
2021-07-09 21:23:54 -07:00
`FirstLine` deve ser seguido pelo caractere de nova linha `\n`
2021-06-15 00:49:18 -07:00
```js
assert(/FirstLine\n/.test(myStr));
```
2021-07-26 23:39:21 +09:00
`myStr` deve conter o caractere de tabulação `\t` , que vem após um caractere de nova linha
2021-06-15 00:49:18 -07:00
```js
assert(/\n\t/.test(myStr));
```
2021-07-09 21:23:54 -07:00
`SecondLine` deve ser precedida pelo caractere de barra invertida `\`
2021-06-15 00:49:18 -07:00
```js
assert(/\\SecondLine/.test(myStr));
```
2021-07-09 21:23:54 -07:00
Deve ter um caractere de nova linha entre `SecondLine` e `ThirdLine`
2021-06-15 00:49:18 -07:00
```js
assert(/SecondLine\nThirdLine/.test(myStr));
```
2021-07-09 21:23:54 -07:00
`myStr` deve conter apenas caracteres mostrados nas instruções
2021-06-15 00:49:18 -07:00
```js
assert(myStr === 'FirstLine\n\t\\SecondLine\nThirdLine');
```
# --seed--
## --after-user-code--
```js
(function(){
if (myStr !== undefined){
console.log('myStr:\n' + myStr);}})();
```
## --seed-contents--
```js
2021-10-27 15:10:57 +00:00
const myStr = ""; // Change this line
2021-06-15 00:49:18 -07:00
```
# --solutions--
```js
2021-10-27 15:10:57 +00:00
const myStr = "FirstLine\n\t\\SecondLine\nThirdLine";
2021-06-15 00:49:18 -07:00
```