问题标签 [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 - Eslint 不允许静态类属性
我目前正在 Node 12.14.1 上开发 API,并使用 Eslint 帮助我编写代码。不幸的是,它不允许我设置静态类属性,如下所示:
给出以下错误:Parsing error: Unexpected token =eslint
JS 和 Node.js 已经支持静态类属性。
如何禁用此规则?
我还有以下.eslintrc.json
文件:
javascript - 如何让 acornjs 正确地检查私有类字段和方法的样式?
我正在做一个项目,我需要对我的代码使用样式检查。我想使用 acorn js,但是在尝试解析私有类字段和类方法时失败。
我试过了:
但是运行时会失败。这是错误消息:
我需要能够使用私有类字段和方法,但我不知道如何让 acorn 正确解析它。
javascript - 从派生(ES2019 私有类)访问基类的受保护字段
我想从派生类访问基类的私有字段而不将它们公开(在其他语言中称为“受保护”)。
考虑以下类:
现在扩展类:
我想像受到保护一样执行:
但是得到(分别):
- 未捕获的语法错误:必须在封闭类中声明私有字段“#privateProp”
- 未捕获的 SyntaxError:意外的私有字段
请注意,当 privateProp 公开时,此代码将完美运行,但我想实现类似受保护的行为并像任何支持继承的语言一样访问“私有”字段。
任何帮助将不胜感激。
javascript - 如何通过 JavaScript 中的方括号访问私有字段
此代码有效:
但是,如果我想计算字段名称,我必须使用方括号,但它不起作用:
有没有办法获得具有计算名称的私有字段?
javascript - 为什么箭头函数作为静态成员值没有词法范围?
我希望这段代码返回undefined
,因为箭头函数是词法范围的,因此this
必须急切地绑定到外部范围。
然而,它回来了123
。
为什么会发生这种情况?
是的,我知道它仍然是第 3 阶段,但仍然 - 为什么提议的标准会这样?(有关另一个示例,请参见https://babeljs.io/docs/en/babel-plugin-transform-class-properties。)
java - 使用参数初始化类字段的不同方法
还有哪些其他方法可以根据给定的 List 对象初始化类字段“fieldList”?一种方法是参数化构造函数。
javascript - 如何为测试初始化一个类的私有属性
我正在尝试使用 JEST 为我编写的具有类似于以下静态属性的类编写测试:
现在,我想为我的initializeData方法做一个新的实现,返回一些模拟数据而不是去数据库,然后“getData”看看我是否得到了预期的结果。问题是我的#data 属性是私有的,我不想将它暴露给外界。有什么办法吗?
c# - 甚至在调用静态构造函数之前,是否会初始化类的静态成员?
我正在阅读MSDN 文档,似乎存在矛盾。
在第一次访问静态成员之前以及在调用静态构造函数(如果有的话)之前初始化静态成员。
也在下一段左右,
如果您的类包含静态字段,请提供在加载类时初始化它们的静态构造函数。
如果静态构造函数的目的是初始化类的静态成员,那么它为什么说静态成员甚至在调用静态构造函数之前就已经初始化?
是不是像我这样写:
这是否意味着年龄首先被初始化为 10,然后该值被覆盖为 20?