相关疑难解决方法(0)

在ES6/Typescript中使用_(下划线)变量和箭头函数

我在一个Angular示例中遇到了这个构造,我想知道为什么选择它:

_ => console.log('Not using any parameters');
Run Code Online (Sandbox Code Playgroud)

我理解变量_意味着不关心/不使用但因为它是唯一的变量是有任何理由更喜欢使用_ over:

() => console.log('Not using any parameters');
Run Code Online (Sandbox Code Playgroud)

当然,这不能是一个字符少于键入.()语法在我看来更好地传达了intent,并且更具特定类型,因为否则我认为第一个示例应该是这样的:

(_: any) => console.log('Not using any parameters');
Run Code Online (Sandbox Code Playgroud)

如果重要,这就是使用它的背景:

submit(query: string): void {
    this.router.navigate(['search'], { queryParams: { query: query } })
      .then(_ => this.search());
}
Run Code Online (Sandbox Code Playgroud)

javascript typescript ecmascript-6 arrow-functions

98
推荐指数
4
解决办法
3万
查看次数

用于指示函数参数的标准约定在JavaScript中未使用

是否有任何标准方法将函数参数标记为在JavaScript中未使用,类似于在Ruby中使用下划线启动方法参数?

javascript naming-conventions unused-variables

32
推荐指数
4
解决办法
1万
查看次数

使用对象解构删除属性,不会出现 eslint no-unused-vars 错误

考虑以下代码,我x使用解构创建了一个“副本”,并删除了其中一个属性:

const x = { a: 1, b: 2, c: 3};
const { a, ...x2} = x;
console.log(x);
console.log(x2);
Run Code Online (Sandbox Code Playgroud)

如果我这样做,@typescript-eslint/no-unused-vars会认为这是一个未使用的错误a

如何更改代码来修复错误,而不明确要求 eslint 忽略有问题的行,最好仍然使用解构语法?即我真的不想使用delete,也不想显式枚举所有其他属性,例如const x2 = {b: x.b, c: x.c }.

是否有一种奇特的语法或奇怪的 eslint 规则可以鱼与熊掌兼得?

javascript destructuring unused-variables typescript eslint

6
推荐指数
1
解决办法
1688
查看次数