禁止 setter 返回值
注意:此规则是
recommended
规则集的一部分。在
deno.json
中启用完整集合{ "lint": { "rules": { "tags": ["recommended"] } } }
使用 Deno CLI 启用完整集合
deno lint --rules-tags=recommended
将此规则添加到
deno.json
中的 include
或 exclude
数组,即可明确地将其包含或排除在当前标签中的规则之外。{ "lint": { "rules": { "include": ["no-setter-return"], "exclude": ["no-setter-return"] } } }
禁止从 Setter 返回值。
Setter 旨在用于为属性设置值,这意味着从 Setter 返回值是毫无意义的。实际上,尽管从 Setter 返回值不会产生错误,但返回的值会被忽略,并且根本无法使用。因此,由 Linter 对此错误进行静态检查是相当有益的。
请注意,允许不带值的返回;这是一种从函数中进行早期返回的有用技术。
无效示例
const a = {
set foo(x: number) {
return "something";
},
};
class B {
private set foo(x: number) {
return "something";
}
}
const c = {
set foo(x: boolean) {
if (x) {
return 42;
}
},
};
有效示例
// return without a value is allowed since it is used to do early-return
const a = {
set foo(x: number) {
if (x % 2 == 0) {
return;
}
},
};
// not a setter, but a getter
class B {
get foo() {
return 42;
}
}
// not a setter
const c = {
set(x: number) {
return "something";
},
};