javascript-在类内引用方法

javascript-在类内引用方法,javascript,class-method,Javascript,Class Method,我有一个用于渲染自定义范围滑块的类。在类中,我需要引用鼠标移动事件触发的方法。因为我需要删除mouseup上的事件侦听器,所以我必须引用它 类的结构如下所示: class RangeSlider { constructor(..){ ... } setRangeValue = () => { ... } } 我在各种浏览器中都能正常工作,但我在错误日志中注意到一些用户出现错误: SyntaxError: Unexpected

我有一个用于渲染自定义范围滑块的类。在类中,我需要引用鼠标移动事件触发的方法。因为我需要删除mouseup上的事件侦听器,所以我必须引用它

类的结构如下所示:

class RangeSlider {
    constructor(..){
        ...
    }
    setRangeValue = () => {
        ...
    }
}
我在各种浏览器中都能正常工作,但我在错误日志中注意到一些用户出现错误:

SyntaxError: Unexpected token '='. Expected an opening '(' before a method's parameter list.
我真的不知道什么地方会出错,因为一般来说,我没有机会亲自检查它,因为对于我来说,在所有浏览器中它都可以正常工作。是否有其他方法可以引用它,以便在鼠标向上移动时删除事件侦听器?

TL;DR

class RangeSlider {
    constructor(..){
        ...
    }
    setRangeValue {
        ...
    }
}
您现在可以做什么

  • 声明如下:
  • class-Foo{
    someFunction(){
    ...
    }
    }
    
  • 使用
    prototype
    继承
  • class-Foo{
    ...
    }
    Foo.prototype.bar=函数(){
    ...
    }
    
    解释

    class-Foo{
    条=()=>{}
    }
    
    上面的代码片段在类
    Foo
    中创建了一个名为
    bar
    的变量,其值是一个匿名函数

    现在,您不能在
    类中声明变量,即不允许使用以下代码

    class Foo {
      bar = 'baz'
    }
    
    自2020年1月23日起,TC39提案中已包含该条款。如果您必须使用它,您可以将它与巴贝尔的插件一起使用。

    TL;DR

    class RangeSlider {
        constructor(..){
            ...
        }
        setRangeValue {
            ...
        }
    }
    
    您现在可以做什么

  • 声明如下:
  • class-Foo{
    someFunction(){
    ...
    }
    }
    
  • 使用
    prototype
    继承
  • class-Foo{
    ...
    }
    Foo.prototype.bar=函数(){
    ...
    }
    
    解释

    class-Foo{
    条=()=>{}
    }
    
    上面的代码片段在类
    Foo
    中创建了一个名为
    bar
    的变量,其值是一个匿名函数

    现在,您不能在
    类中声明变量,即不允许使用以下代码

    class Foo {
      bar = 'baz'
    }
    

    自2020年1月23日起,TC39提案中已包含该条款。如果您必须使用它,您可以将其与babel的插件一起使用。

    您使用的语法非常新,因此不受任何地方的支持(可能不会有太大变化,例如IE将不再更新)。这是一种全新的语法,因此大多数浏览器都不支持它。这是否回答了您的问题?您使用的语法非常新,因此不受任何地方的支持(可能不会有太大变化,例如IE将不再更新)。这是一种全新的语法,因此大多数浏览器都不支持它。这是否回答了您的问题?