Files
2021-10-27 21:47:35 +05:30

2.8 KiB

id, title, challengeType, videoUrl, forumTopicId, dashedName
id title challengeType videoUrl forumTopicId dashedName
56533eb9ac21ba0edf2244b4 Definire le stringhe con virgolette singole 1 https://scrimba.com/c/cbQmnhM 18260 quoting-strings-with-single-quotes

--description--

I valori Stringa in JavaScript possono essere scritti con virgolette singole o doppie, purché si inizi e si termini con lo stesso tipo di virgolette. A differenza di alcuni altri linguaggi di programmazione, le virgolette singole e doppie funzionano allo stesso modo in JavaScript.

const doubleQuoteStr = "This is a string"; 
const singleQuoteStr = 'This is also a string';

Il motivo per cui potresti voler usare un tipo di virgolette piuttosto dell'altro è se volessi usare entrambi in una stringa. Questo potrebbe accadere volendo salvare una conversazione in una stringa e avendo la conversazione tra virgolette. Un altro uso sarebbe salvare un tag <a> con vari attributi tra virgolette, tutto all'interno di una stringa.

const conversation = 'Finn exclaims to Jake, "Algebraic!"';

Tuttavia, questo diventa un problema se è necessario utilizzare le virgolette più esterne al suo interno. Ricorda, una stringa ha lo stesso tipo di virgolette all'inizio e alla fine. Ma se hai la stessa virgoletta da qualche parte nel mezzo, la stringa si fermerà anzitempo e lancerà un errore.

const goodStr = 'Jake asks Finn, "Hey, let\'s go on an adventure?"'; 
const badStr = 'Finn responds, "Let's go!"';

Qui badStr genererà un errore.

Nel goodStr di cui sopra, puoi usare entrambe le virgolette in modo sicuro utilizzando la barra rovesciata \ come carattere di escape.

Nota: La barra rovesciata \ non dovrebbe essere confusa con la barra obliqua /. Non fanno la stessa cosa.

--instructions--

Cambia la stringa fornita in una stringa con virgolette singole all'inizio e alla fine e senza caratteri di escape.

In questo momento, il tag <a> nella stringa utilizza virgolette doppie dappertutto. È necessario cambiare le virgolette esterne in virgolette singole in modo da poter rimuovere i caratteri di escape.

--hints--

Dovresti rimuovere tutte le barre rovesciate (\).

assert(
  !/\\/g.test(code) &&
    myStr.match(
      '\\s*<a href\\s*=\\s*"http://www.example.com"\\s*target\\s*=\\s*"_blank">\\s*Link\\s*</a>\\s*'
    )
);

Dovresti avere due virgolette singole ' e quattro virgolette doppie ".

assert(code.match(/"/g).length === 4 && code.match(/'/g).length === 2);

--seed--

--after-user-code--

(function() { return "myStr = " + myStr; })();

--seed-contents--

const myStr = "<a href=\"http://www.example.com\" target=\"_blank\">Link</a>";

--solutions--

const myStr = '<a href="http://www.example.com" target="_blank">Link</a>';