本文主要是介绍js 双冒号运算符(::),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
双冒号运算符::是 ES7 中提出的函数绑定运算符,用来取代call()、apply()、bind()调用。
双冒号左边是一个对象,右边是一个函数。该运算符会自动将左边的对象,作为上下文环境(即this对象),绑定到右边的函数上面。
foo::bar;
// 等同于
bar.bind(foo);foo::bar(...arguments);
// 等同于
bar.apply(foo, arguments);
如果双冒号左边为空,右边是一个对象的方法,则等于将该方法绑定在该对象上面。
var method = obj::obj.foo;
// 等同于
var method = ::obj.foo;let log = ::console.log;
// 等同于
var log = console.log.bind(console);
在react中应用
<div onChange={::this.handleChange}></div>
onChange={::this.handleChange} 等价于 onChange={this::this.handleChange} 即 onChange={this.handleChange.bind(this)}
这篇关于js 双冒号运算符(::)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!