js 双冒号运算符(::)

双冒号运算符::是 ES7 中提出的函数绑定运算符,用来取代call()、apply()、bind()调用。

双冒号左边是一个对象,右边是一个函数。该运算符会自动将左边的对象,作为上下文环境(即this对象),绑定到右边的函数上面。

javascript 复制代码
foo::bar;
// 等同于
bar.bind(foo);

foo::bar(...arguments);
// 等同于
bar.apply(foo, arguments);

如果双冒号左边为空,右边是一个对象的方法,则等于将该方法绑定在该对象上面。

javascript 复制代码
var method = obj::obj.foo;
// 等同于
var method = ::obj.foo;

let log = ::console.log;
// 等同于
var log = console.log.bind(console);

在react中应用

javascript 复制代码
<div onChange={::this.handleChange}></div>

onChange={::this.handleChange} 等价于 onChange={this::this.handleChange} 即 onChange={this.handleChange.bind(this)}

相关推荐
lili-felicity11 分钟前
React Native for Harmony:订单列表页面状态筛选完整实现
react native·react.js·harmonyos
wayne21413 分钟前
Zustand在ReactNative中的工程实践与性能优化总结
javascript·react native·react.js
阿珊和她的猫25 分钟前
深入理解 React 中的 Render Props 模式
前端·react.js·状态模式
森叶37 分钟前
Cookie 和 Token 的应用场景优势比较 & Cookie 不能使用的场景补充
javascript
IT_陈寒38 分钟前
SpringBoot 3.0实战:10个高效开发技巧让你的启动时间减少50%
前端·人工智能·后端
im_AMBER41 分钟前
前端 + agent 开发学习路线
前端·学习·agent
亿坊电商1 小时前
利于SEO优化的CMS系统都有哪些特点?
前端·数据库
lili-felicity1 小时前
React Native 鸿蒙跨平台开发:纯原生IndexBar索引栏 零依赖 快速定位列表
react native·react.js·harmonyos
juejin_cn1 小时前
使用 Codex SDK 轻松实现文字控制电脑
前端
CUYG1 小时前
Moment.js常用
前端