44 votes

Que signifie : : (double point) en JavaScript ?

J'ai du code JSX dans une application react comme ceci :

...
 _renderSignOutLink() {
    if (!this.props.currentUser) {
      return false;
    }

    return (
      <a href="#" onClick={::this._handleSignOutClick}><i className="fa fa-sign-out"/> Sign out</a>
    );
...

Que signifie le double point, :: c'est-à-dire avant d'appeler la fonction ?

45voto

ssube Points 8838

El :: est un opérateur de liaison proposé qui se désugarise en une fonction liée :

::foo.bar
// becomes
foo.bar.bind(foo)

Ceci est utile dans React (et dans tout autre gestionnaire d'événements) car cela signifie que this aura la valeur attendue (instance de la classe) lorsque le gestionnaire d'événements sera invoqué ultérieurement.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X