freeCodeCamp/curriculum/challenges/italian/02-javascript-algorithms-an.../debugging/catch-mixed-usage-of-single...

2.0 KiB

id title challengeType forumTopicId dashedName
587d7b84367417b2b2512b37 Scovare l'uso misto di virgolette singole e doppie 1 301188 catch-mixed-usage-of-single-and-double-quotes

--description--

JavaScript consente l'uso dell'apostrofo (') e delle virgolette (") per dichiarare una stringa. Decidere quale utilizzare generalmente è una questione di gusti personali, con alcune eccezioni.

Avere due scelte è ottimo quando una stringa ha all'interno contrazioni o un altro pezzo di testo citato. Basta stare attenti a non chiudere la stringa troppo presto, perché provocherebbe un errore di sintassi.

Ecco alcuni esempi di virgolette miste:

const grouchoContraction = "I've had a perfectly wonderful evening, but this wasn't it.";
const quoteInString = "Groucho Marx once said 'Quote me as saying I was mis-quoted.'";
const uhOhGroucho = 'I've had a perfectly wonderful evening, but this wasn't it.';

I primi due sono corretti, ma il terzo è sbagliato.

Naturalmente, va bene usare solo uno stile di virgolette. Puoi fare l'escaping delle virgolette all'interno della stringa usando il carattere di escape backslash (\):

const allSameQuotes = 'I\'ve had a perfectly wonderful evening, but this wasn\'t it.';

--instructions--

Correggi la stringa in modo da usare virgolette diverse per il valore href o fai l'escaping di quelle esistenti. Mantieni le virgolette doppie intorno all'intera stringa.

--hints--

Il tuo codice dovrebbe correggere le virgolette intorno al valore href #Home cambiandole o facendone l'escaping.

assert(code.match(/<a href=\s*?('|\\")#Home\1\s*?>/g));

Il tuo codice dovrebbe mantenere le virgolette doppie intorno all'intera stringa.

assert(code.match(/"<p>.*?<\/p>";/g));

--seed--

--seed-contents--

let innerHtml = "<p>Click here to <a href="#Home">return home</a></p>";
console.log(innerHtml);

--solutions--

let innerHtml = "<p>Click here to <a href=\"#Home\">return home</a></p>";
console.log(innerHtml);