JavaScript toString示例–如何在JS等语言中将数字转换为字符串

原文链接:https://www.freecodecamp.org/news/javascript-tostring-example-convert-number-to-string-in-js/

有时您想将一种数据类型转换为另一种数据类型,而无需手动更改值。

例如,您可能想将数字转换为字符串。JavaScript有时会隐式执行此操作。

就像当您使用double equals运算符(==)或尝试对具有与该操作不兼容的数据类型的值进行操作时一样。这称为类型强制

也就是说,您也可以显式转换数据类型。在本文中,我将向您展示如何做到这一点。

字符串数据类型是JavaScript中非常常见的数据类型。对于几乎所有其他数据类型,您都需要一个字符串表示形式。

就像您一定已经看到了与"[object Object]"使用对象代替实际字符串时类似的内容。

在本文中,我们将学习该toString方法是什么,以及如何使用此方法将数字(和一些其他数据类型)转换为字符串。

toString方法

顾名思义,此方法用于将数据更改为字符串。数组,数字和布尔值都有此方法,可以通过各种方式转换其数据。现在让我们单独查看它们。

如何将数字转换为字符串

toString方法存在于每个数字文字上。它将数字转换为其字符串表示形式。使用方法如下:

const num = 54;
console.log(num.toString())
// "54"

但这还有更多。在toString对数字方法也接受一个base说法。此参数允许您将数字转换为其他基数。

返回的值是新数字的字符串表示形式。使用方法如下:

const num = 54;
const num2 = num.toString(2);
console.log(num2);
// "110110"

parseInt是另一种JavaScript方法,它将字符串转换为各自的数字表示形式。运作方式如下:

const numInStr = "54";
const str = "Hello";
console.log(parseInt(numInStr));
// 54
console.log(parseInt(str));
// NaN

对于与数字不同的变量,parseInt返回Nan如上所示。

如何在JavaScript中将数组转换为字符串

数组也有该toString方法。此方法的返回值是由逗号分隔的数组(及其中的深层数组)的所有值的串联。使用方法如下:

const arr = ["javascript", "toString", [1, "deep1", [3, 4, "array"]]];
console.log(arr.toString());
// "javascript,toString,1,deep1,3,4,array"

如何在JavaScript中将对象转换为字符串

toString就像您可能经常遇到的那样,对象上的返回值是- "[object Object]"。例如:

const obj = {name: 'Object'};
const obj2 = {type: 'data', number: 100};
console.log(obj.toString());
// [object Object]
console.log(obj2.toString());
// [object Object]

对象到字符串的默认转换为[object Object]。注意那里有两个objects,而不仅仅是一个?另一个是大写的吗?

对象的表示形式如下:

function print() {};
const arr = [];
const obj = {};
console.log(
  Object.prototype.toString.call(print),
  Object.prototype.toString.call(arr),
  Object.prototype.toString.call(obj)
)
// [object Function] [object Array] [object Object]

函数,数组,对象,甚至日期和正则表达式都是对象。他们每个人都有toString方法。

toString在它们上被调用时,它将获取该值所属的Object的任何类,然后像上面所看到的那样打印它(“ Function,Array,Object”)。

我们之所以使用,call(variable)是因为toString通过this属性获取对象类。

结论

.toString方法返回使用它的数据的字符串转换。这在某些情况下非常有用,尤其是numbers

本文来自投稿,不代表微擎百科立场,如若转载,请注明出处:https://www.w7.wiki/develop/4482.html

发表评论

登录后才能评论