Js基础数据类型有7种:
- 原始数据类型(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")); // 100
console.log(parseInt("100zhaozhao")); // 100
console.log(parseInt("zhaozhao100")); // NaN
console.log(parseInt("100zhaozhao100")); // 100
console.log(parseInt("100.18zhaozhao")); // 100
-
parseFloat()
转为浮点数(不会把整数转换为浮点数)
// 转为浮点数(不会把整数转换为浮点数)
console.log("====")
console.log(parseFloat("100")); // 100
console.log(parseFloat("100zhaozhao")); // 100
console.log(parseFloat("zhaozhao100")); // NaN
console.log(parseFloat("100zhaozhao100")); // 100
console.log(parseFloat("100.18")); // 100.18
console.log(parseFloat("100.18zhaozhao")); // 100.18
-
Number()
转换为数值, 较严格
// 转换为数值
console.log("====")
console.log(Number("100")); // 100
console.log(Number("100zhaozhao")); // NaN
console.log(Number("zhaozhao100")); // NaN
console.log(Number("100zhaozhao100")); // NaN
console.log(Number("100.18")); // 100.18
console.log(Number("100.18zhaozhao")); // NaN
运行结果
转换为布尔
// 布尔类型的转换
// 除零以外的数字, 非空字符串 都为 true
console.log(Boolean(1))
console.log(Boolean(-1))
console.log(Boolean("哈哈"))
// 0 ,空字符串, null, undefined都为false
console.log("====")
console.log(Boolean(0))
console.log(Boolean(""))
console.log(Boolean(null))
console.log(Boolean(undefined))
转换为布尔
快速获取boolean值的小技巧: 在变量前添加
2个!
,示例!!("zhaozhao") === true;
和!!("") === false
快速获取boolean
Chrome控制台字体大小控制:
- 字体变大:
command
++
- 字体变小:command
+-
(windows把command
转为ctrl
即可)