理解JavaScript中的数据类型转换
在JavaScript中,数据类型用于对一种特定类型的数据停止分类,肯定可以分配给该类型的值乃至可以对其施行的操纵。
虽然由于类型强迫,JavaScript会主动转换很多值,但为了到达预测的结果,平常最好在类型之间手动转换值。
本教程将引导您转换JavaScript的根本数据类型,包罗数字、字符串和布尔值。
隐式转换
作为一种编程说话,JavaScript对不测值的容忍度很高。因此,JavaScript将尝试转换不测值,而不是直接回绝它们。这种隐式转换称为类型强迫。
有些办法会主动转换值以便使用它们。alert()办法接受一个字符串作为参数,但它将主动将其他类型转换为字符串。因此,我们可以传递一个数值给办法:
alert(8.5);
假如我们运转上面的代码行,阅读器将返回一个弹出的警告对话框,其中显示8.5值,但是它将被转换为一个字符串。
当使用可以通过数学运算符运算为数字的字符串时,您将发明JavaScript能够通过隐式地将字符串转换为数字来处置这些值,如下面的示例所示。
// Subtraction "15" - "10";
输出:5
// Modulo "15" % "10";
输出:5
然而,并不是每个运算符都能像预测的那样工作。+运算符有明显的问题,由于它可以表示加法或字符串连接。
// When working with strings, + stands for concatenation "2" + "3";
输出:"23"
由于+运算符是多用处的,因此尽管是数字字符串,但字符串值2和3连接为字符串值23,而不是加在一起成为数字5。
由于含糊性大概存在,有时会致使不测的结果,所以平常最好在代码中显式地转换尽大概多的数据类型。这将有助于治理来自会员的输入和处置错误。
将值转换为字符串
可以通过调取String()或N.ToString()将值显式转换为字符串。
使用String()函数,让我们通过将值true传递给String()的参数,将布尔值转换为字符串。
String(true);
当我们这样做时,字符串文字“true”将返回。
输出:"true"
或者,我们可以向函数传递一个数字。
String(49);
将返回该数字的字符串文字。
输出:"49"
让我们将String()函数与变量一起使用。 我们将为变量odyssey分配一个数字值,然后使用typeof运算符来检查类型。
let odyssey = 2001; console.log(typeof odyssey);
输出:number
此时,变量odyssey被给予2001的数值,我们已经确定它是一个数字。
此刻,让我们将odyssey从新分配到它的字符串等效值,然后使用typeof来确定我们已经成功地将变量的值从一个数字转换为一个字符串。
odyssey = String(odyssey); // "2001" console.log(typeof odyssey);
输出:string
在上面的例子中,我们已经确定,在数据类型转换之后,将odyssey从新赋值为一个字符串值。
我们可以以相似的方式使用n.toString()。我们可以用变量更换n:
let blows = 400; blows.toString();
变量blow将作为字符串返回。
输出:"400"
或者,我们可以把值放在圆括号内,而不是用n.toString()变量:
(1776).toString(); // returns "1776" (false).toString(); // returns "false" (100 + 200).toString(); // returns "300"
通过使用String()或n.toString(),我们能够显式地将布尔值或数字数据类型的值转换为String值,以确保代码的行动相符我们的预测。
将值转换为数字
在将值转换为数字数据类型时,我们将使用number()办法。第一,我们将把数字文本字符串转换为数字,但我们也可以转换布尔值。
我们可以将一个数字串传递给number()办法:
Number("1984");
字符串将被转换为一个数字,不再用引号括起来。
输出:1984
我们还可以将一个字符串赋值给一个变量,然后对其停止转换。
let dalmatians = "101"; Number(dalmatians);
输出:101
字符串文字“101”通过其变量被转换为数字101。
空白字符串或空字符串将转换为0。
Number(" "); // returns 0 Number(""); // returns 0
留意,非数字字符串将转换为NaN, NaN表示非数字。这包罗用空格分隔的数字。
Number("twelve"); // returns NaN Number("20,000"); // returns NaN Number("2 3"); // returns NaN Number("11-11-11"); // returns NaN
关于布尔数据类型,false的值为0,true的值为1。
Number(false); // returns 0 Number(true); // returns 1
办法的作用是:将非数字数据类型转换为数字。
将值转换为布尔值
要将数字或字符串转换为布尔值,可以使用Boolean()办法。例如,这关于肯定会员可否将数据输入文本字段非常有用。
任何被说明为空的值,如数字0、空字符串或不决义的值、NaN或null,都被转换为false。
Boolean(0); // returns false Boolean(""); // returns false Boolean(undefined); // returns false Boolean(NaN); // returns false Boolean(null); // returns false
其他值将被转换为true,包罗由空格组成的字符串文字。
Boolean(2000); // returns true Boolean(" "); // returns true Boolean("Maniacs"); // returns true
留意,“0”作为字符串文字将转换为真,由于它是一个非空字符串值:
Boolean("0"); // returns true
将数字和字符串转换为布尔值可以同意我们在二进制术语中运算数据,并且可以用于程序中的操纵流。
相关免费学习引荐:js视频教程
以上就是理解JavaScript中的数据类型转换的具体内容,更多请关注百分百源码网其它相关文章!