So che un modulo come questo:Qual è la differenza tra una chiusura e un modulo?
function User(){
var username, password;
function doLogin(user, pw){
username = user;
password = pw;
};
var publicAPI = {
login: doLogin
};
return publicAPI;
}
ha una chiusura all'interno di esso: doLogin
, ed è ricordare i valori delle variabili username
e password
che si trovano all'interno User
, ciò che rende questo un "chiusura" . Quello che non capisco è se ogni volta che usiamo una chiusura stiamo usando il modello del modulo? o non appena salvi la funzione di User
in una variabile come var User = function(){...
non è un modulo ... Tieni presente che sto imparando js.
Il modello di modulo utilizza chiusure, non il contrario. Le chiusure sono parte integrante del linguaggio, i moduli sono solo uno * schema * che è emerso da loro (e ci sono molte altre cose che puoi fare con le chiusure). – Bergi