“变量初始化器是冗余的”到底是什么意思?的意思

What exactly does "variable initializer is redundant" mean?

本文关键字:意思 是什么 变量 冗余 初始化      更新时间:2023-09-26

所以我使用Webstorm IDE的一些JavaScript,我相信它使用JSLint检查代码。我有一堆variable initializer is redundant警告。我找不到任何关于我需要修改的内容的确切含义。

的例子:

function calcPayNow(){
    var payNowVal = 0;
    --snip---
    payNowVal = (Math.round(tec * x) - Math.round(allpmts * x)) / x;
   --snip--
}

这意味着赋值0没有任何意义,因为在赋值不同的值之前永远不会使用它。

我要改成:

var payNowVal = 0;
--snip---
payNowVal = (Math.round(tec * x) - Math.round(allpmts * x)) / x;

--snip---
var payNowVal = (Math.round(tec * x) - Math.round(allpmts * x)) / x;

您正在分配值0,但该值从未使用过。当你重新赋值时,它会立即被丢弃。

更改为:

function calcPayNow(){
    var payNowVal;
    --snip---
    payNowVal = (Math.round(tec * x) - Math.round(allpmts * x)) / x;
   --snip--
}

TypeScript quickfix & "变量初始化器是冗余的& ";

的代码
let sss : number = 4;
sss = 5;

触发"变量初始化器是冗余的";检查1号线。应用快速修复的结果是:

let sss : number: number;
sss = 5;

,而应该是:

let sss : number;
sss = 5;

您在这里初始化payNowVal:

var payNowVal = 0;

并且假定从来没有使用这个值,然后将其设置为:

payNowVal = (Math.round(tec * x) - Math.round(allpmts * x)) / x;

初始化不为你做任何事。这是多余的。

把它去掉,或者更好的做法是,在你有一个值之前不要声明它:

function calcPayNow(){
  // --snip---
  var payNowVal = (Math.round(tec * x) - Math.round(allpmts * x)) / x;
  //--snip--
}

这意味着您没有必要初始化变量。忽略= 0,你永远不需要(使用)它。或者直接输入

var payNowVal = (Math.round(tec * x) - Math.round(allpmts * x)) / x;