在 javascript 中使用像 Number() String() 这样的方法是一种不好的做法,还是我们应该使用如下所示的其他方法并尽量减少它们的使用?

Is it a bad practice to use methods like Number() String() in javascript or we shall use other ways as shown below and try to minimize their use?

  let num = 231.32;
  console.log( num.toPrecision() );
  console.log( String(num) );
  
  {

  let numStr = "250";
  console.log(Number(numStr)); console.log(Number.parseFloat(numStr));

}

  
在这里,我们可以通过其他方式实现 String() 和 Number() 可以实现的相同功能。上面的代码给出了相同的输出。所以我们应该尽量减少 String() 和 Number() 的用例。哪个比较好?

没有真正糟糕的方法,这取决于您所处理的情况。

ToPrecision() 将改变原始数字并四舍五入到特定的小数: 请注意,ToPrecision() 只能处理数字,处理字符串时会产生错误。

The toPrecision() method returns a string representing the Number object to the specified precision

Number v.s ParseFloat 在大多数情况下几乎是一样的,但是 Number 会 return NaN 而 parseFloat 会return number 部分处理包含一些字符和数字的字符串。 (例如 123ABC

示例:

let num = '123ABC'
//return 123
console.log(parseFloat(num))
//return NaN
console.log(Number(num))

let num1='123'
 //Produce error
console.log(num1.toPrecision(2))

我认为 String 和使用 " " 之间的主要区别是你不能总是重新声明你想要的东西(例如重新声明 ABC"ABC")。 (我认为你的 numStr 是为了显示使用 " " 更改字符串。

另一个内建函数是toString()转换成string,但是toString想转换null和[=时会报错29=].

示例:

let test = undefined;
//produce 'undefined'
console.log(String(test))
//produce error
console.log(test.toString())

我认为在大多数情况下使用它们中的任何一个都可以,但您必须注意其中的细微差别。它们并不完全相同。