sindresorhus/eslint-plugin-unicorn

Rule proposal: `no-useless-assign`

クローズ

#1,693 opened on 2022/01/14

 (3 件のコメント) (3 件のリアクション) (0 人の担当者)JavaScript (468 件のフォーク)user submission
help wantednew rule

Repository metrics

Stars
 (5,022 個のスター)
PR merge metrics
 (平均マージ 4h 30m) (30d で 26 merged PRs)

説明

Description

Got the idea from https://lgtm.com/projects/g/prettier/prettier/snapshot/dae9b0317dae184854caf66c44eec17a95200e98/files/src/language-js/parse/postprocess/typescript.js?sort=name&dir=ASC&mode=heatmap#L66

I don't think no-unused-vars rule should check this case, because the variable is actually "used" in some case, only should not assign when it's a last use.

Fail

function foo(bar) {
  bar = doSomething();
}
function foo(bar) {
  bar = doSomething(bar);
}
function foo(bar) {
  bar = doSomething(bar);

  // ... do something else, but not using bar
}

Pass

function foo(bar) {
  bar = doSomething(bar);

  return bar;
}
function foo(bar) {
  bar = doSomething(bar);

  use(bar);
}
function foo(bar) {
  function aInnerFunctionUsesBar() {
   return bar;
  }

  bar = doSomething(bar);

  // bar is not used but calling another function uses bar
  aInnerFunctionUsesBar()
}

コントリビューターガイド