In JavaScript, come in molti altri linguaggi di programmazione, le differenze tra funzione e procedura possono essere molto sfumate o inesistenti, dato che JavaScript non utilizza formalmente il termine “procedura”. Tuttavia, le funzioni e le procedure sono entrambe subroutine utilizzate per eseguire specifici compiti in un programma, ma vi sono alcune differenze generali tra i due concetti, applicabili a vari linguaggi di programmazione.
Funzione:
Una funzione è una routine che può restituire un valore. Può essere utilizzato per calcolare un valore o eseguire un compito che restituisce un risultato. Puoi chiamare una funzione e assegnare il suo valore di ritorno a una variabile.
Procedura:
Una procedura è una routine che esegue attività ma non restituisce un valore. Generalmente, le procedure vengono utilizzate per alterare lo stato di un’applicazione, ad esempio modificando variabili globali o eseguendo operazioni di I/O, piuttosto che calcolare e restituire un valore. In alcuni linguaggi di programmazione, le procedure vengono chiamate anche “funzioni void”.
In JavaScript, tutte le funzioni possono tecnicamente essere chiamate “procedure” se ignori i loro valori di ritorno. Ma non tutte le funzioni possono essere chiamate procedure, perché le procedure non restituiscono un valore.
Da notare che JavaScript non fa una distinzione formale tra i due nella sintassi del linguaggio. Il termine “funzione” è utilizzato in JavaScript per riferirsi a entrambi i concetti.