deno.com

禁止 setter 返回值

注意: 此规则是 recommended 规则集的一部分。
deno.json 中启用完整规则集
{
  "lint": {
    "tags": ["recommended"]
  }
}
使用 Deno CLI 启用完整规则集
deno lint --tags=recommended

禁止从 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";
  },
};

您找到您需要的内容了吗?

隐私政策