问题标签 [class-fields]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - 如何在 ES6 类中创建“公共静态字段”?
我正在制作一个 Javascript 类,我想要一个像 Java 一样的公共静态字段。这是相关代码:
这是我得到的错误:
看起来 ES6 模块不允许这样做。有没有办法获得所需的行为,还是我必须写一个吸气剂?
javascript - 如何使用箭头函数(公共类字段)作为类方法?
我是使用 ES6 类和 React 的新手,以前我一直将我的方法绑定到当前对象(在第一个示例中显示),但是 ES6 是否允许我将类函数永久绑定到带有箭头的类实例?(在作为回调函数传递时很有用。)当我尝试像使用 CoffeeScript 一样使用它们时出现错误:
因此,如果我要传递SomeClass.handleInputChange
到,例如setTimeout
,它将被限定为类实例,而不是window
对象。
javascript - ES6 类:脚本中出现意外的标记?
我正在复制一个尝试学习 ES6 的示例,但出现编译错误:
它似乎是指 count = 0;
我究竟做错了什么?
javascript - 如何配置 ESLint 以允许粗箭头类方法
Parsing error: Unexpected token =
当我尝试 lint 我的 Es6 类时,ESLint 抛出错误。我缺少什么配置参数来启用 eslint 中的胖箭头类方法?
示例类:
.eslint
javascript - ES7 中的存根类字段函数
在我的测试套件中,我如何存根一个类的属性,它是一个函数*?使用普通方法很容易使用Object.getOwnPropertyNames(component.prototype)
和猴子修补每个找到的方法,但经过长时间的努力,我还没有找到任何方法来提取通过分配给类的字段创建的函数。
我的测试堆栈由 Jest 和 Jasmine2 和 babel 组成。
转译的问题在于,箭头函数属性(当然,正如预期的那样)分配给输出转译“类”的实例(当然,实际上是函数)。所以除了实例化这个对象之外,我没有看到任何方法来存根它们,对吗?这是输入 es7 代码和 babel 输出的示例。但是我不是特别喜欢这个解决方案,看起来很hacky。这个解决方案的另一个缺点是我不能直接实例化组件的类。
(*) 这个问题的背景是单元测试用类似 es7 的类编写的 React 组件,为了自动绑定的目的,将箭头函数分配给类的属性。
javascript - Declare a class property outside of a class method
See how x and y are declared in constructor:
is there an way to declare properties outside of functions for instance:
So I want to assign a to 22 but I am unsure if i can do it outside the constructor but still inside the class..
javascript - 使用 React 时,在构造函数中使用粗箭头函数还是绑定函数更可取?
在创建 React 类时,哪个更可取?
或者
我的一个同事认为后者会导致内存问题,因为 babel 将代码转换为this
在闭包内捕获,并且该引用将导致实例不被 GC 清理。
对此有什么想法吗?
ecmascript-6 - Eslint - `解析错误:意外令牌=`分配的胖箭头/属性初始化程序错误
我正在使用箭头函数,它抱怨解析错误:
Parsing Error: Unexpected token =
但是我的代码是有效的(如果我弄错了请告诉我)。此外,我已将 .eslintrc 设置设置为使用 es6 解析:
.eslintrc
这是我的代码:
有办法解决这个错误吗?这在this
特定功能的价值方面存在巨大差异。
javascript - JS 类字段
对于 ES6 类,我们有 getter 和 setter 属性,但没有字段选项(或者至少我知道)。
使用Object.defineProperty
,您可以使用value
属性设置它们。如果有的话,你如何对课程做同样的事情?
我知道它可以在类构造函数中完成,但如果可能的话,我希望它是分开的。
javascript - 为什么在基类构造函数中看不到派生类属性值?
我写了一些代码:
我期待我的派生类字段初始化程序在基类构造函数之前运行。myColor
相反,派生类直到基类构造函数运行后才会更改属性,因此我观察到构造函数中的错误值。
这是一个错误吗?怎么了?为什么会这样?我应该怎么做?