Home » Articole » Articole » Calculatoare » Programare » JavaScript » JavaScript: Inserția automată a semicoloanelor

JavaScript: Inserția automată a semicoloanelor

postat în: JavaScript 0

În limbajele asemănătoare cu C, punctul și virgula denotă sfârșitul unui enunț. Spre deosebire de alte limbaje de tip C, JavaScript nu impune utilizarea unui punct și virgulă la sfârșitul declarației. În schimb, punctul și virgula este opțional, iar interpretul JavaScript le va adăuga „inteligent” atunci când rulează codul.

În JavaScript, un punct și virgulă este inserat automat când [1]

  • două instrucțiuni sunt separate de un terminator de linie
  • două declarații sunt separate printr-o paranteză de închidere (‘}’)
  • un terminator de linie urmează unui break, continue, return, sau throw.

Deși inserția automată a coloanelor (Automatic Semicolon Insertion, ASI) ar face codul dvs. mai ușor de scris (nu este nevoie să tastați toate aceste puncte și virgule), în practică lipsa punctelor și virgulelor face programul dvs. mai greu de depanat. Din această cauză, este recunoscută universal ca fiind cea mai bună practică de a utiliza oricum punct și virgulă la sfârșitul declarațiilor. Cu toate acestea, existența ASI poate crea în continuare unele bug-uri care sunt greu de depanat dacă nu știți ce să căutați.

Exemple

Cod introdus “Înțeles” ca Cod corectat
return
2*a + 1;
return;
2*a + 1;
return 2*a + 1;
function getObject() {
  return
  {
    // some lines
  };
}
function getObject() {
  return;
  {
    // some lines
  };
}
function getObject() {
  return {
    // some lines
  };
}
i
++;
i;
++;
i++;
if (i === 5)
  // assuming a semicolon here
else
  foo = 0;
if (i === 5)
  // no semicolon here!
else
  foo = 0;
if (i === 5){
  // code
  } else {
    foo = 0;
  }

În primul caz, programatorul intenționa să fie returnat 2*a + 1; în schimb, codul nu a returnat nimic. În mod similar, în cel de-al doilea caz, programatorul intenționa să returneze liniile cuprinse de acolade {}, dar codul nu a returnat nimic. Datorită acestei ciudățenii din JavaScript, se consideră cea mai bună practică să nu se rupă niciodată liniile într-o declarație, și să nu se scrie niciodată acolada de deschidere pe o linie separată.

Referințe

[1] Colin J. Ihrig (2012-03-09). “The Dangers of JavaScript’s Automatic Semicolon Insertion” (în engleză) (HTML). cjihrig.com. Arhivat din original.

Include texte traduse și adaptate din Wikibooks

Inteligența artificială în serviciile de informații, apărare și securitatea națională
Inteligența artificială în serviciile de informații, apărare și securitatea națională

Sfetcu, Nicolae (2023) Inteligența artificială în serviciile de informații, apărare și securitatea națională, Editura MultiMedia Publishing, ISBN 978-606-033-817-8, DOI: 10.58679/MM53113, https://www.telework.ro/ro/e-books/inteligenta-artificiala-in-serviciile-de-informatii-aparare-si-securitatea-nationala/   Abstract This essay explores the use of artificial intelligence by intelligence services around the world and its critical … Citeşte mai mult

Nu a fost votat $1.99$3.71 Selectează opțiunile
Proiectarea, dezvoltarea şi întreţinerea siturilor web
Proiectarea, dezvoltarea şi întreţinerea siturilor web

Un ghid pentru dezvoltatorii web, cu accent pe HTML, XML, JavaScript, SQL, tehnologii web, software web, software pentru dezvoltare web, aplicaţii web, şabloane pentru aplicaţii web, AJAX, servicii web, sindicalizarea web, web design, situri web, găzduirea web, analiza siturilor web, … Citeşte mai mult

Nu a fost votat $2.99$11.97 Selectează opțiunile
PowerPoint - Ghid pentru începători
PowerPoint – Ghid pentru începători

PowerPoint este un instrument excelent pentru prezentări de orice fel, fie în clasă, fie în cadrul unei conferințe. O prezentare PowerPoint este formată dintr-o serie de diapozitive care pot fi proiectate (afișate electronic) sau tipărite într-o varietate de formate de … Citeşte mai mult

Nu a fost votat $0.00 Selectează opțiunile

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *