JavaScript doble dos puntos (operador bind)
Como sabes, hay una propuesta para un atajo para la función .bind()
, por lo que puedes escribir:
::this.handleStuff
Y funcionará así en es5:
this.handleStuff.bind(this)
Mi pregunta es: ¿será posible pasar argumentos de esta manera?
Me refiero a una forma de escribir esto con el atajo antes mencionado:
this.handleStuff.bind(this, 'stuff')
Es un patrón bastante común en React, por lo que sería bueno acortarlo un poco.
116
Author: Michał Perłakowski, 2015-07-04
1 answers
No. El operador de enlace ( spec proposal ) viene en dos sabores:
-
Método de extracción
::obj.method ≡ obj.method.bind(obj)
-
Llamadas"método virtual"
obj::function ≡ function.bind(obj) obj::function(…) ≡ function.call(obj, …)
Ninguno de ellos cuenta con aplicación parcial. Para lo que quieres, debes usar una función de flecha:
(...args) => this.handleStuff('stuff', ...args) ≡ this.handleStuff.bind(this, 'stuff')
139
Author: Bergi,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-08-19 19:34:24
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-08-19 19:34:24