class-fields相关内容
我正在试用新的class private member feature🎉,但很快就遇到了一个问题:如何动态访问它们? 我希望它遵循预先存在的语法 constructor(prop, val) { this[`#${prop}`] = val; // undefined } 或 constructor(prop, val) { this.#[prop] = val;
..
此代码起作用: class Test { #field get field() { return this.#field; } } 但如果我想计算字段名我必须使用方括号,但它不起作用: class Test { #field; get field() { return this['#field']; } } 有没有办法获取具有计算名称
..
我有一个JavaScript类,在它里面有一个如下所示的异步方法。 class ABC { func = async () => { //----line 10 //some code } func2 = () => { //----line 11 //some code } } 当我运行ESLint时,它报告一个错误。应
..
如何枚举私有类字段? class Person { #isFoo = true; #isBar = false; constructor(first, last) { this.firstName = first; this.lastName = last; } enumerateSelf() { console.log(this);
..
我遵循了有关How do I configure ESLint to allow fat arrow class methods将解析器设置为babel-eslint哪些状态的建议。 我安装了它并更新了我的配置文件,如下所示: { "parserOptions": { "parser": "babel-eslint", "ecmaVersion": 12,
..
我正在使用带有 Babel 和 Webpack 的 ReactJS,并使用 ES6 以及 提议的类字段 用于箭头功能.我了解箭头函数通过 not重新创建每个渲染的函数,类似于构造函数中的绑定工作方式.但是,我不能 100% 确定我是否正确使用它们.以下是我在三个不同文件中的代码的简化部分. 我的代码: Main.js prevItem = () =>{console.log("div
..
我在阅读有关 JavaScript 类的文章时,遇到了“公共类字段语法"这个术语.在深入挖掘时,我发现了这个 Babel 关于类属性的文档. 有人可以解释一下 - 这种新语法的实现用例是什么? (它为 JavaScript 提供了哪些解决方案/好处,但目前还没有?) 下面是一个例子(在谷歌浏览器中运行没有错误): class Person {firstName = "迈克";la
..
看看 x 和 y 是如何在构造函数中声明的: class 点 {构造函数(x,y){this.x = x;这.y = y;}toString() {return '(' + this.x + ', ' + this.y + ')';}} 有没有办法在函数之外声明属性,例如: class 点 {//在这里声明静态类属性//a: 22构造函数(x,y){this.x = x;这.y = y;}t
..
我正在创建一个 Javascript 类,并且我想要一个像 Java 中那样的公共静态字段.这是相关代码: 导出默认类代理{圈:1,平方:2,... 这是我得到的错误: 第 2 行,第 11 栏,类属性必须是方法.预期 '(' 但看到的是 ':'. 看起来 ES6 模块不允许这样做.有没有办法获得所需的行为,还是我必须编写一个 getter? 解决方案 您使用访问器和“静态"关键字
..
我发现有两种方法可以在类组件中声明状态,如下所示 class App 扩展组件 {构造函数(道具){超级(道具);this.state = {姓名:'约翰'}}使成为() {返回
{this.state.name}}} 和 class App 扩展组件 {状态 = {姓名:'约翰'}使成为() {返回
{this.state.name}}} 这两
..
是否有理由编写 ES6 方法的经典语法? class MyClass {我的方法(){this.myVariable++;}} 当我使用 myMethod() 作为某个事件的回调时,我必须写这样的东西(在 JSX 中): //匿名函数.onClick={() =>{ this.myMethod();}}//或者绑定 this.onClick={this.myMethod.bind(this)
..
我将 ReactJS 与 Babel 和 Webpack 一起使用,并使用 ES6 以及 建议的类字段 用于箭头函数.我知道箭头函数通过 not 提高了效率重新创建每个渲染的函数,类似于构造函数中的绑定工作方式.但是,我不能 100% 确定我是否正确使用它们.以下是我在三个不同文件中的代码的简化部分. 我的代码: Main.js prevItem = () =>{console.lo
..
我们应该避免在 render 内部绑定方法,因为在重新渲染时它会创建新方法而不是使用旧方法,这会影响性能. 对于这样的场景: 我们可以在构造函数中绑定_handleChange方法: this._handleChange = this._handleChange.bind(this); 或者我们可以使用属性初始化语法: _handleChange = () =>{....} 现
..
我是在 React 中使用 ES6 类的新手,之前我一直将我的方法绑定到当前对象(显示在第一个示例中),但是 ES6 是否允许我使用箭头将类函数永久绑定到类实例?(在作为回调函数传递时很有用.)当我尝试在 CoffeeScript 中尽可能使用它们时出现错误: class SomeClass 扩展 React.Component {//而不是这个构造函数(){this.handleInputCh
..
类方法、作为函数的类属性和作为箭头函数的类属性有什么区别?this 关键字在方法的不同变体中的行为是否不同? class Greeter {构造函数(){this.greet();this.greet2();this.greet3();}问候(){console.log('greet1', this);}问候2 = () =>{console.log('greet2', this);}问候3 =
..
我想从派生类访问基类的私有字段,而不是将它们公开(在其他语言中称为“受保护"). 考虑以下类: class Animal {#privateProp;构造函数(){this.#privateProp = 12;}} 现在是扩展类: class Cat extends Animal {构造函数(){极好的();}做它(){console.log(this.#privateProp)//1
..
在当前版本的 nodejs ie 12.xx 中,我们可以通过 #some_varible 表示法.#表示法将使该特定类的变量成为私有字段. Foo类{#some_varible = 10;} 我有以下问题: 如何使用此变量? 在生产应用中使用此类表示法声明私有类字段是否安全? 当某些类字段声明为私有时,它如何在后台(在nodejs中)工作? 解决方案 如何使用此变量
..
我目前正在Node 12.14.1上开发API,并使用Eslint来帮助我编写代码.不幸的是,它不允许我设置静态类属性,如下所示: class AuthManager {静态PROP ='值'} 给出以下错误:解析错误:意外的令牌= eslint 静态类属性已在JS和Node上得到支持. 如何禁用此规则? 我还有以下 .eslintrc.json 文件: {"env":{
..
我在ES6 React代码中看到了很多 class Foo扩展了React.Component {bar =()=>{console.log("bar")}baz(){console.log("baz")}} 似乎它们都在 Foo 上定义了 bar 和 baz 的方法,但是它们有何不同. 解决方案 声明的不同之处在于函数的编写方式以及 this , 的 context 使用第一
..
在节点(v8.4)中运行以下代码 class TodoStore { todos = []; getcompleteTodosCount(){ 返回this.todos.filter( todo => todo.completed === true ).length; } report(){ if(this.todos.length === 0) 返回“
..