首页 > IT职业 > IT职场 > JavaScript 原始数据类型转换
原始数据类型(6种)
number (数值)
string (字符串)
boolean (布尔)
null (空对象, typeof 检测为object)
undefine(未定义)
symbol (符号类型)
对象数据类型(1种)
object(对象类型)
补充:
NaN表示 not a number;
function本质为 object, 但由于其特殊的地位, typeof会检测为 function;
symbol为ECMAScript6 新定义的数据类型, 符号类型是唯一的并且是不可修改的, 并且也可以用来作为Object的key的值
.toString() 无法将null, undefine转为字符串
String() 可以将null, undefine转为字符串
// 变量已经被赋值console.log("变量已经被赋值的情况:");
(function test01(){ var name = "zhaozhao"; console.log(String(name)) console.log(name.toString())
})();// 变量没有被赋值console.log("变量没有被赋值的情况:");
(function test02(){ var name; console.log(String(name)) console.log(name.toString())
})();
运行结果
parseInt()强转为整数
// 强转为整数console.log("====")console.log(parseInt("100")); // 100console.log(parseInt("100zhaozhao")); // 100console.log(parseInt("zhaozhao100")); // NaNconsole.log(parseInt("100zhaozhao100")); // 100console.log(parseInt("100.18zhaozhao")); // 100
parseFloat()转为浮点数(不会把整数转换为浮点数)
// 转为浮点数(不会把整数转换为浮点数)console.log("====")console.log(parseFloat("100")); // 100console.log(parseFloat("100zhaozhao")); // 100console.log(parseFloat("zhaozhao100")); // NaNconsole.log(parseFloat("100zhaozhao100")); // 100console.log(parseFloat("100.18")); // 100.18console.log(parseFloat("100.18zhaozhao")); // 100.18
Number()转换为数值, 较严格
// 转换为数值console.log("====")console.log(Number("100")); // 100console.log(Number("100zhaozhao")); // NaNconsole.log(Number("zhaozhao100")); // NaNconsole.log(Number("100zhaozhao100")); // NaNconsole.log(Number("100.18")); // 100.18console.log(Number("100.18zhaozhao")); // NaN
运行结果
// 布尔类型的转换// 除零以外的数字, 非空字符串 都为 trueconsole.log(Boolean(1))console.log(Boolean(-1))console.log(Boolean("哈哈"))// 0 ,空字符串, null, undefined都为falseconsole.log("====")console.log(Boolean(0))console.log(Boolean(""))console.log(Boolean(null))console.log(Boolean(undefined))
转换为布尔
快速获取boolean值的小技巧: 在变量前添加
2个!,示例!!("zhaozhao") === true;和!!("") === false
快速获取boolean
- 字体变大:
command++
- 字体变小:command+-
(windows把command转为ctrl即可)
作者:木子昭
链接:https://www.jianshu.com/p/f78b78e2a22c
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/3589/viewspace-2810089/ ,如需转载,请注明出处,否则将追究法律责任。