::(双冒号)在JavaScript中意味着什么?

时间:2016-08-16 14:58:08

标签: javascript reactjs

我在这样的反应应用程序中有一些JSX代码:

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

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

在调用函数之前,双冒号::是什么意思?

1 个答案:

答案 0 :(得分:38)

::a proposed binding operator,它可以进入绑定函数:

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

这在React(和任何其他事件处理程序)中很有用,因为它意味着this在稍后调用事件处理程序时将具有期望值(类的实例)。