JavaScript è un linguaggio indulgente. Parte della sua sintassi è facoltativa e il linguaggio recupera dagli errori con più grazia di molti altri. Ma questa presa di mano ha una penalità: può essere più facile introdurre bug e il codice incoerente è più difficile da leggere.

Fortunatamente, se vuoi esercitare più disciplina, c'è un modo semplice per farlo: la modalità rigorosa. La modalità rigorosa è un modo per chiedere a JavaScript di reagire in modo più deciso quando incontra problemi nel codice.

Che cos'è una modalità rigorosa?

Diversi linguaggi utilizzano il concetto di modalità rigorosa: una modalità che valuta ed esegue il codice in modo più rigoroso. Potresti avere familiarità con il doctype HTML strict, che depreca determinati elementi e attributi.

Perl, un altro linguaggio di scripting interpretato, ha da tempo una propria modalità rigorosa. Questa modalità vieta alcuni tipi di espressioni non sicure.

Come posso utilizzare la modalità rigorosa in JavaScript?

All'interno di uno script, inserisci un'istruzione "use strict" proprio in alto, prima di qualsiasi altra istruzione:

instagram viewer
// questo intero script sarà in modalità rigorosa
'usa rigoroso';

Nota che puoi includere un commento prima di esso, ma nessuna dichiarazione. È possibile abilitare la modalità rigorosa in un file JavaScript o all'inizio di un blocco di script in un file HTML. Puoi anche abilitare la modalità rigorosa in base alla funzione:

funzione rigorosa() {
// Sintassi della modalità rigorosa a livello di funzione
'usa rigoroso';
return "Questa funzione è rigorosa";
}
funzione sciolto() {
return "Questa funzione NON è rigorosa";
}

Dopo aver abilitato la modalità rigorosa, assicurati di testare il codice. Se stai lavorando con il web, apri a Console JavaScript, in modo da poter identificare eventuali nuovi errori.

Cosa fa la modalità rigorosa di JavaScript?

In breve, la modalità rigorosa sarà meno indulgente con alcuni tipi di codice problematico. Anziché ignorare i problemi e continuare l'esecuzione, alcuni errori interromperanno lo script. Questo è spesso più sicuro che continuare in circostanze indesiderabili.

Previene i globali accidentali

Il miglior esempio da cui protegge la modalità strict è la creazione di variabili globali accidentali. In esecuzione normale, questo codice:

miaVar = 17;

Creerà una proprietà denominata myVar sull'oggetto globale, supponendo che tu non abbia precedentemente dichiarato myVar. In un browser Web, l'oggetto globale è solitamente window:

console.log (window.myVar);
>> 17

Se includi un'istruzione "use strict", tuttavia, vedrai un errore nella console, qualcosa del tipo:

Errore di riferimento non rilevato: myVar non è definito

Il motivo per cui è così utile è che rileva un caso comune di errore di battitura. È facile digitare in modo errato un nome di variabile e molte lingue ci verrebbero a conoscenza di un tale errore.

Ma JavaScript, per impostazione predefinita, assume semplicemente l'ambito dell'oggetto globale e continua come se nulla fosse. Alcuni codici potrebbero dipendere intenzionalmente da quel comportamento, cosa di cui dovresti essere a conoscenza quando decidi di utilizzare la modalità rigorosa.

Guarda anche: Come mantenere pulito il codice con l'incapsulamento di oggetti

Rende esplicito il fallimento

Alcuni comportamenti in JavaScript falliscono, ma lo fanno in silenzio. Potresti non essere a conoscenza di tali errori a meno che non li controlli in modo specifico. Ad esempio, NaN è una proprietà speciale dell'oggetto globale che rappresenta un numero non valido. Questa proprietà è di sola lettura, ma puoi comunque provare a scriverci sopra:

NaN = 2;
>> 2

Ma anche se sembra che l'incarico abbia avuto successo, non è stato così:

NaN
>> NaN

In modalità rigorosa, riceverai un errore effettivo che ti dice che non puoi assegnare a NaN. Questo codice utilizza una funzione in modo che tu possa provare la modalità rigorosa nella console:

javascript
function badNaN() { "usa rigoroso"; finestra. NaN = 2; }
>> indefinito
badNan()
>> Uncaught TypeError: impossibile assegnare alla proprietà di sola lettura 'NaN' dell'oggetto '#'
a badNaN (:1:46)
a :1:1

Questo è un classico esempio che mostra, mentre l'ignoranza può essere beatitudine, a volte è meglio sapere se qualcosa va storto.

Avverte in caso di parametri duplicati

L'ultimo esempio riguarda una caratteristica poco conosciuta di JavaScript. Potrebbe sorprenderti sapere che i nomi dei parametri non devono essere univoci:

function dupeParam (a, a, c) { console.log (a); }
>> indefinito
dupeParam (2, 4, 8)
>> 4

Nota che JavaScript assegna l'ultimo valore a un parametro duplicato. Ora, questo comportamento non è particolarmente utile. In effetti, sarebbe più utile che JavaScript ci dicesse che si tratta di un errore, ed è esattamente ciò che fa la modalità rigorosa:

function dupeParam (a, a, c) { "usa rigoroso"; }
<< Errore di sintassi non rilevato: nome del parametro duplicato non consentito in questo contesto

Usa la modalità rigorosa per una maggiore sicurezza del codice

Buone pratiche e mezzi per farle rispettare vanno di pari passo. In alcuni contesti, come un ruolo di programmazione professionale, ti consigliamo di esercitare la massima disciplina possibile. Anche se stai solo lavorando a un progetto open-source per hobby, il manutentore potrebbe preferire utilizzare la modalità rigorosa come standard.

In definitiva, dipende da te, ma è utile sapere che è disponibile una mano. Come programmatore, dovresti sempre essere alla ricerca delle migliori pratiche e di cosa puoi fare per applicarle.

10 principi di programmazione di base che ogni programmatore deve conoscere

Il tuo codice dovrebbe essere chiaro e di facile manutenzione. Ecco molti altri principi di programmazione per aiutarti a ripulire il tuo atto.

Leggi Avanti

CondividereTweetE-mail
Argomenti correlati
  • Programmazione
  • JavaScript
  • Sviluppo web
  • Linguaggi di programmazione
Circa l'autore
Bobby Jack (62 articoli pubblicati)

Bobby è un appassionato di tecnologia che ha lavorato come sviluppatore software per quasi due decenni. È appassionato di giochi, lavora come redattore capo presso Switch Player Magazine ed è immerso in tutti gli aspetti dell'editoria online e dello sviluppo web.

Altro da Bobby Jack

Iscriviti alla nostra Newsletter

Iscriviti alla nostra newsletter per consigli tecnici, recensioni, ebook gratuiti e offerte esclusive!

Clicca qui per iscriverti