JavaScript基础知识点之类型转换(原始数据类型)
常见的数据类型转换:转换string类型、转换为number类型、转换为Boolean类型
字符串转换:转化发生在输出内容的时候,也可以可通过string (value)进行显示转换,原始数据类型值的string类型转换通常很明显。 (false 变成 “false”,null 变成 “null” 等。)
<!DOCTYPE html>
<script>
let value = true;
// boolean
alert(typeof value);
// 现在,值是一个字符串形式的 "true"
value = String(value);
// string
alert(typeof value);
</script>
数字转换类型:转换发生在进行算术操作时,也可通过Number进行进行显示转换,转换遵循以下规则:
undefind—>NaN
null————>0
true/false——>1/0
string ——>“按原样读取”字符串,两端的空白会被忽略,空字符串会变成0,转换出错则输出NaN
<!DOCTYPE html>
<script>
// 123
console.log( Number(" 123 ") );
// NaN(从字符串“读取”数字,读到 "z" 时出现错误)
console.log( Number("123z") );
// 1
console.log( Number(true) );
// 0
console.log( Number(false) );
</script>
注:如果该字符串不是一个有效的数字,转换的结果会是 NaN
<!DOCTYPE html>
<script>
let age = Number("an arbitrary string instead of a number");
// NaN,转换失败
alert(age);
</script>
布尔型转换:转换发生在进行逻辑操作时,也可通过Boolean(value) 进行显式转换,转换遵循以下规则:
0/null/undefind/NaN——>flase
其他值——>true
<!DOCTYPE html>
<script>
// true
console.log( Boolean(1) );
// false
console.log( Boolean(0) );
// true
console.log( Boolean("hello") );
// false
console.log( Boolean("") );
</script>
注:对 “0” 和只有空格的字符串(比如:" ")进行布尔型转换时,输出结果为 true。
<!DOCTYPE html>
<script>
// true
console.log( Boolean("0") );
// 空白,也是 true(任何非空字符串都是 true)
console.log( Boolean(" ") );
</script>