<div dir="ltr"><div><div><div>Ciao Carlos, come stai?<br><br></div>Ti spiego la "let" poi la tua mail è troppo lunga e mi fermo...<br><br></div>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.<br><br></div>"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.<br></div><div class="gmail_extra"><br><div class="gmail_quote">Il giorno 27 febbraio 2015 11:17, Carlos Catucci <span dir="ltr"><<a href="mailto:carlos.catucci@gmail.com" target="_blank">carlos.catucci@gmail.com</a>></span> ha scritto:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><span class=""><br>2015-02-27 11:02 GMT+01:00 Alessandro Re <<a href="mailto:ale@ale-re.net" target="_blank">ale@ale-re.net</a>>:<br>><br>> Secondo te cosa non ha senso?<br>><br>> 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à.<br>><br>> E poi la sintassi di molte cose nuove è esteticamente orribile :p<br><br></span>Correggetemi se ho frainteso ma:<br><br>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.<br>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.<br>Destructuring non e' male forse, ma mi sembra un poco contorto, in fondo e' un array no?<br>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.<br>Arrow function mi fa tanto PHP, e non ho capito come funziona. Il tipo fa prima un esempio dove scrive<br><br>employees.forEach(function(emp) {<br>    totalAge += emp.age;<br>});<br><br>E va bene, ma qui emp la definisce lui come parametro passato alla funzione, poi scrive<br><br>employees.forEach(emp => {<br>    totalAge += emp.age;<br>});<br><br>che sarebbe la lambda, ma scritto cosi' e' poco chiaro. Questioone di leggibilita', tutto qui.<br><br><br>Default parameters mi ricorda tanto Python, se esiste ok oppure assegna questo valore.<br>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.<br>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.<span class=""><br><br>Carlos<br>--<br>EZLN ... Para Todos Todo ... Nada para nosotros</span></div>
<br>_______________________________________________<br>
Python mailing list<br>
<a href="mailto:Python@lists.python.it">Python@lists.python.it</a><br>
<a href="http://lists.python.it/mailman/listinfo/python" target="_blank">http://lists.python.it/mailman/listinfo/python</a><br>
<br></blockquote></div><br></div>