deno.com

禁止 setter 返回值

注意:此规则是 recommended 规则集的一部分。
deno.json 中启用完整集合
{
  "lint": {
    "rules": {
      "tags": ["recommended"]
    }
  }
}
使用 Deno CLI 启用完整集合
deno lint --rules-tags=recommended
将此规则添加到 deno.json 中的 includeexclude 数组,即可明确地将其包含或排除在当前标签中的规则之外。
{
  "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";
  },
};

您找到所需内容了吗?

隐私政策