javascript - ESLint 和 This-Bind 运算符

标签 javascript eslint function-binding ecmascript-next

This-Bind operator是为 ES7 提供方便的 this 方法绑定(bind)语法的提案:

// this-bind via '::'
$(".some-link").on("click", ::view.reset);

// oldschool .bind(this, ...)
$(".some-link").on("click", view.reset.bind(view))

// or even longer...
$(".some-link").on("click", function () {
    return view.reset.apply(view, Array.prototype.slice.call(arguments));
})

// and even ES6 while is more handy, but still leaves some redundancy
$(".some-link").on("click", (...args) => view.reset(...args));

问题是,它仍处于 ES 的 future (7) 版本的提案阶段,因此它尚未包含在标准中,因此不受 ESLint 的支持,但仍然可以通过 tanspiling 使用(使用 Babel,f.e.)。

问题是,ESLint 是否有任何模块/插件/选项来支持函数绑定(bind)运算符(或整套 ES7 实验性功能)语法?

最佳答案

好吧,当我上网准备这个问题时,我发现 Babel有它自己的实现 custom parser对于 ESLint,它允许检查任何有效的 Babel 代码。

为了使用它,你应该:

  1. 首先通过npm安装babel-eslint解析器:

    $ npm install eslint babel-eslint --save-dev
    
  2. 通过在 .eslintrc 文件中指定,将 ESLint 配置为使用自定义解析器:

    f.e. .eslintrc.json:

    {
        "parser": "babel-eslint",
        ...
    }
    
  3. 如果您使用 SublimeLinter,请关闭/打开 linter 以重新加载配置。

关于javascript - ESLint 和 This-Bind 运算符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35534580/

相关文章:

javascript - HtmlOptions.OnLoadScript 无法使用 ABCPdf 创建 PDF

javascript - 避免使用 Firebase 嵌套 promise

javascript - 使用具有动态函数绑定(bind)的测试 spy 的好方法

javascript - 视频结束时提交表格

javascript - 有没有一种更简单的方法可以使用 lodash 从多个对象集合构造唯一值数组?

javascript - eslint - vue/script-indent 忽略对象字段

Java:允许具有一个可变参数的函数和具有相同名称和一个相同类型参数的函数吗?

javascript - 如何避免渲染方法中的绑定(bind)或内联箭头函数

javascript - 如何将数组数组的字符串转换为Javascript数组数组?

eslint坚持不缩进<script>标签