Tipi di funzione in Javascript

Mattepuffo's logo
Tipi di funzione in Javascript

Tipi di funzione in Javascript

Javascript è sicuramente uno dei linguaggi che ha subito più "aggiunte" negli anni.

Tra gli esempi di questa sua evoluzione ci sono sicuramente i tipi di funzione supportati.

Una delle cose belle è niente del vecchio è deprecato, e possiamo scegliere noi quale usare.

In questo articolo vedremo i vari tipi di funzione che abbiamo a disposizione.

Partiamo dalle named function, ovvero quelle tradizionali:

function namedFunction(nome) {
  console.log(nome);
}

namedFunction('matteo');

Poi, sulla scia di altri linguaggi, sono state aggiunte le funzioni anonime, che hanno una sintassi un pà più compatta:

let mioNome = function (nome) {
  console.log(nome);
}

mioNome('matteo');

Ancora più compatte, e non adatte a tutti gli scopi, ci sono le arrow function:

let mioNome = (nome) => console.log(nome);

mioNome('matteo');

Da adesso in poi entriamo più nel particolare, cominciando con le IIFE (Immediately Invoked Function Expression).

Queste sono usate principalmente per creare uno scope privato, e quindi per non essere invocata in maniera globale:

(function () {
  let nome = 'matteo';
  console.log(nome);
})();

Dalla mia esperienza, se ne fa uso più all'interno di librerie o cose così.

Poi abbiamo le higher order functions, funzioni che prendono altre funzioni come parametri, o che restituiscono altre funzioni:

let arr = [1, 2, 3, 4];
let newArr = arr.map((el) => el * 2);
console.log(newArr);

Qui abbiamo usato map come esempio, ma ce ne stanno altre.

Infine, visto che Javascript supporta anche la OOP, ci stanno i costruttori, funzioni che vengono usate per istanziare un oggetto:

function Macchina(modello, marca) {
  this.modello = modello;
  this.marca = marca;
}

let m = new Macchina('GTO', 'Ferrari');
console.log(m.marca);
console.log(m.modello);

Enjoy!


Condividi

Commentami!