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-09 21:23:54 -07:00
Aspas não são os únicos caracteres que podem ser < dfn > escapadas< / dfn > dentro de uma string. Há dois motivos para usar caracteres de escapamento:
2021-06-15 00:49:18 -07:00
2021-07-09 21:23:54 -07:00
1. Para permitir que você use caracteres, você pode não ser capaz de digitar caso contrário, como um retorno de carro.
2. Para permiti-lo representar 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-09 21:23:54 -07:00
Você precisará usar sequências de escapamento para inserir corretamente os caracteres especiais. Você também precisará seguir os espaçamentos assim como se parece acima, sem espaços entre sequências de escapamento ou palavras.
2021-06-15 00:49:18 -07:00
2021-07-09 21:23:54 -07:00
**Nota:** A identação para `SecondLine` é alcançada com o caracter de espaçamento tab, e não 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-09 21:23:54 -07:00
`myStr` deve conter o caracter tab `\t` a qual está logo após o caractere de nova linha `\n`
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
var myStr; // Change this line
```
# --solutions--
```js
var myStr = "FirstLine\n\t\\SecondLine\nThirdLine";
```