Herramientas de usuario

Herramientas del sitio


wiki2:js

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anterior Revisión previa
Próxima revisión
Revisión previa
wiki2:js [2022/11/03 15:17]
alfred [Default arguments on functions]
wiki2:js [2022/11/03 16:21] (actual)
Línea 1115: Línea 1115:
 <code javascript>​ <code javascript>​
 const lordify = firstName => `${firstName} of Canterbury`;​ const lordify = firstName => `${firstName} of Canterbury`;​
 +</​code>​
 +Arrow functions protect the scope of this.
 +
 +For example this fails:
 +<code javascript>​
 +const tahoe = {
 +  mountains: ["​Freel",​ "​Rose",​ "​Tallac",​ "​Rubicon",​ "​Silver"​],​
 +  print: function(delay = 1000) {
 +    console.log(this);​ // Window {}
 +    setTimeout(function() {
 +      console.log(this.mountains.join(",​ "));
 +    }, delay);
 +}};
 +tahoe.print();​ // Uncaught TypeError: Cannot read property '​join'​ of undefined
 +</​code>​
 +But this not:
 +<code javascript>​
 +const tahoe = {
 + mountains: ["​Freel",​ "​Rose",​ "​Tallac",​ "​Rubicon",​ "​Silver"​],​
 + print: function(delay = 1000) {
 + setTimeout(() => {
 + console.log(this.mountains.join(",​ "));
 + }, delay);
 + }
 +};
 +tahoe.print();​ // Freel, Rose, Tallac, Rubicon, Silver
 </​code>​ </​code>​
wiki2/js.1667488655.txt.gz · Última modificación: 2022/11/03 16:17 (editor externo)