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)}

相关推荐
用户47949283569157 分钟前
我是怎么把模型回复用tts播放的更自然的
前端
JS_GGbond7 分钟前
前端崩溃监控:给网页戴上“生命体征监测仪”
前端
俊劫8 分钟前
AI 编码技巧篇(内部分享)
前端·javascript·ai编程
Maxkim9 分钟前
一文读懂 Chrome CRX📦:你需要了解的核心知识点
前端·前端工程化
JackJiang10 分钟前
AI大模型爆火的SSE技术到底是什么?万字长文,一篇读懂SSE!
前端·websocket
Mr_chiu11 分钟前
数据可视化大屏模板:前端开发的效率革命与架构艺术
前端
进击的野人12 分钟前
一个基于 Vue 的 GitHub 用户搜索案例
前端·vue.js·前端框架
ZsTs11912 分钟前
《2025 AI 自动化新高度:一套代码搞定 iOS、Android 双端,全平台 AutoGLM 部署实战》
前端·人工智能·全栈
命中水12 分钟前
从怀疑到离不开:我第一个由 AI 深度参与完成的真实项目复盘
前端·openai
我是ed12 分钟前
# Vue3 图片标注插件 AILabel
前端