原文链接: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]
。注意那里有两个object
s,而不仅仅是一个?另一个是大写的吗?
对象的表示形式如下:
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
方法返回使用它的数据的字符串转换。这在某些情况下非常有用,尤其是number
s
本文来自投稿,不代表微擎百科立场,如若转载,请注明出处:https://www.w7.wiki/develop/4482.html