PROGRAMMARE IL WEB NEL 2018

La serie aggiornata per programmare il web in HTML5, CSS3, JAVASCRIPT

Esercitazione SULL'ARRAY DESTRUCTURING, SET TIMEOUT E THIS

1) Dato un oggetto salaries
let salaries = {
"John": 100,
"Pete": 300,
"Mary": 250
};
Crea la funzione topSalary(salaries) che restituisce il nome della persona con più alto stipendio.
Se ci sono più persone con lo stesso stipendio più alto, restituisci una delle due.
P.S. Usare Object.entries e destructuring
2) Scrivi una funzione printNumbers(from, to) che restituisca un numero ogni secondo, cominciando da from e terminando con to.
3) Il valore di this

Nel codice seguente intendiamo chiamare il metodo user.go() 4 volte.
Le chiamate (1) e (2) sono diverse dalle (3) e (4). Perché?
let obj, method;
obj = {
go: function() { alert(this); }
};
obj.go(); // (1) [object Object]
(obj.go)(); // (2) [object Object]
(method = obj.go)(); // (3) undefined
(obj.go || obj.stop)(); // (4) undefined
4) Il seguente codice definisce un oggetto Scala
let scala = {
step: 0,
up() {
this.step++;
},
down() {
this.step--;
},
showStep: function() { // mostra il corrente step
alert( this.step );
}
};
In questo modo se vogliamo salire e scendere le scale, dobbiamo procedere in questo modo
scala.up();
scala.up();
scala.down();
scala.showStep(); // 1
Modifica il codice in modo che le chiamate risultino concatenabili (in questo modo)
scala.up().up().down().showStep(); // 1