Ciao Carlos, come stai? Ti spiego la "let" poi la tua mail è troppo lunga e mi fermo...
In js il costrutto var definisce le variabili. Lo scope delle variabili è sempre funzionale: ovunque tu scriva "var x = 1;" è sempre come se tu lo scrivessi all'inizio della tua funzione. Functional Scope, appunto. Prova tu a immaginare l'attenzione che bisogna avere quando hai a che fare blocchi annidati, cicli, o cose simili. "let" permetterà di definire delle variabili con Block Scope, cioè potrai definire una variabile nel punto in cui ti serve e diciamo che il suo scope sarà limitato al blocco in cui è stata definita. Il giorno 27 febbraio 2015 11:17, Carlos Catucci <carlos.catu...@gmail.com> ha scritto: > > 2015-02-27 11:02 GMT+01:00 Alessandro Re <a...@ale-re.net>: > > > > Secondo te cosa non ha senso? > > > > Personalmente ho sempre pensato che il bello di javascript era la > semplicità del linguaggio... Dopo aver letto questo mi è caduto tutto, a > parte le let, praticamente tutto il resto aggiunge complessità. > > > > E poi la sintassi di molte cose nuove è esteticamente orribile :p > > Correggetemi se ho frainteso ma: > > In effetti la let non la ho capita. Si va bene lo scope e' piu' chiaro, ma > una var interna potrebbe fare la stessa cosa senza aggiungere un ulteriore > reserved keyword. > La const in se fa comodo ma si vive anche senza (per convenzione io uso > una var maiuscola e so che e' una costante per cui non la cambio mai, > inoltre uso i namespaces, quindi mi basta uno chiamato CONST seguito da > .nomecostante e evito il problema. > Destructuring non e' male forse, ma mi sembra un poco contorto, in fondo > e' un array no? > Spread e' un passare una lista come parametro ad una funzione che si > aspetta una serie di parametri. Avrei preferito una evolusione del tipo > *args,**kwargs alla Python. > Arrow function mi fa tanto PHP, e non ho capito come funziona. Il tipo fa > prima un esempio dove scrive > > employees.forEach(function(emp) { > totalAge += emp.age; > }); > > E va bene, ma qui emp la definisce lui come parametro passato alla > funzione, poi scrive > > employees.forEach(emp => { > totalAge += emp.age; > }); > > che sarebbe la lambda, ma scritto cosi' e' poco chiaro. Questioone di > leggibilita', tutto qui. > > > Default parameters mi ricorda tanto Python, se esiste ok oppure assegna > questo valore. > Rest Parameters appunto sembra essere *args, solo he inevec che un array > gli passo una seire di parametri. Non vedo ancora il vantaggio, ma magari > sono io. > Non ho ancora visto bene il resto, gli iterators forse sono una cosa > buona, idem per i generators, ma devo ancora darci un'occhio bene. > > Carlos > -- > EZLN ... Para Todos Todo ... Nada para nosotros > > _______________________________________________ > Python mailing list > Python@lists.python.it > http://lists.python.it/mailman/listinfo/python > >
_______________________________________________ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python