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!
javascript function oop
Commentami!