问题标签 [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.

0 投票
0 回答
440 浏览

javascript - React 中的 ESLint:解析错误:意外的令牌 =

我收到此错误:

错误生成开发 JavaScript 包失败 92:7 错误

解析错误:意外的令牌 =

我正在使用 gatsby 和自定义eslintrc

我在几个地方找到了这个问题的解决方案,但都没有奏效。我发现的最常见的解决方案是"parser": "babel-eslint"eslintrc 文件。但我已经有了。不知道我还能尝试什么。

发生此错误的文件通常是用旧式 React 编写的文件,但我不知道为什么它们不再工作了?

例如:

eslint 不喜欢的另一段代码是在另一个文件中:

我也尝试过禁用 eslint 中的行以及完整文件,但也没有用。哦,当我eslint完全退出时,一切正常,我可以运行和构建我的项目。

0 投票
3 回答
681 浏览

javascript - JavaScript 中的私有类字段

结果是

  • Uncaught SyntaxError: redeclaration of private name #a在火狐中
  • Uncaught SyntaxError: Identifier '#a' has already been declared在铬

尽管

在 Firefox 和 Chrome 中都有效

AFAIK 实例字段将安装在类实例上,而静态字段将安装在类对象本身上。他们并不冲突。为什么以前的代码无效?

0 投票
2 回答
168 浏览

javascript - 如何在javascript中获取类的私有属性名称?

介绍

为了获取类实例的属性,我们可以使用Object.getOwnPropertyNames()以下示例中的方法

这确实有效,因为对象的属性是public。但如果对象的属性是私有的,则此方法不起作用。

问题

想象一下,您不希望用户直接在类方法之外修改nameandage属性,因此您将它们设为私有。但是,您还希望有一种方法可以在另一个实例中复制一个实例。由于不适用于私有属性,因此您无法访问密钥以使:Object.getOwnPropertyNames()clone()

问题

有没有办法从类方法内部访问类的私有属性名称?

0 投票
0 回答
28 浏览

javascript - 如何配置 jshint 以识别特殊的类方法语法?

我不确定此语法的确切名称,但这是我根据需要使用的:

JSHint 给我一个错误,因为它无法识别它:

我不确定,但我认为我可以将 ES 版本设置如下:

这行得通吗?我可以设置多高?

有没有另一种方法来做到这一点。

标记的重复项已超过 3 年,希望 jshint 团队在过去 4 年多的时间里已经解决/解决了这个问题(github 上报告了类似的问题)。

0 投票
2 回答
185 浏览

javascript - Javascript 中的私有字段不会出现在 JSON.stringify 中

所以如果我写一个类如下

它将返回一个空对象,完全忽略我所有的私人成员。添加一个 toJSON 方法是可行的,但这变得非常麻烦。是否有任何内置方法可以轻松让我的私有字段显示在 JSON.stringify 中?还是我只需将每个成员都写入 toJSON 方法?

0 投票
1 回答
87 浏览

javascript - 在箭头函数上运行 eslint 时报告了意外的令牌“=”

我有一个 JavaScript 类,在其中我有一个如下所示的异步方法。

当我运行 ESLint 时,它报告了一个错误。应用程序本身按预期工作。

eslintrc.json

为了摆脱这些 lint 错误并仍然将这些方法保留为箭头函数,我需要做什么?

ESLint 版本:eslint :"^7.32.0"

0 投票
2 回答
153 浏览

javascript - 为什么 ESLint 不能识别我的类箭头函数?

我遵循了关于如何配置 ESLint 以允许将解析器设置为babel-eslint的胖箭头类方法的建议。

我安装了它并更新了我的配置文件,如下所示:

但是它仍然在破坏 eslint,给出如下解析错误:

它突出了第一个=并说:

解析错误意外令牌 =

我该如何进一步解决这个问题?ESLint 正确地应用了这个文件中的所有规则,但似乎忽略了解析器选项。

或者是其他东西?

我不确定这是否与此处相关:

https://github.com/babel/babel-eslint#note-babel-eslint-is-now-babeleslint-parser-and-has-moved-into-the-babel-monorepo

但我真的不知道那是什么意思。

0 投票
0 回答
72 浏览

c# - 为什么这个 c# 程序中的私有 int 变量没有更新?

这是程序:

私有 int 变量的值仍然为零,我不明白为什么会这样。我尝试将变量设为静态并将其放在班级的顶部,然后放在其他所有内容之前,但这没有任何区别。我搜索了很多,但找不到解决方案或解释。我是初学者。