在 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())
我认为在大多数情况下使用它们中的任何一个都可以,但您必须注意其中的细微差别。它们并不完全相同。
let num = 231.32;
console.log( num.toPrecision() );
console.log( String(num) );
{
let numStr = "250";
console.log(Number(numStr)); console.log(Number.parseFloat(numStr));
}
没有真正糟糕的方法,这取决于您所处理的情况。
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())
我认为在大多数情况下使用它们中的任何一个都可以,但您必须注意其中的细微差别。它们并不完全相同。