JavaScript 原始数据类型转换

简介: Js基础数据类型有7种:原始数据类型(6种)number (数值)string (字符串)boolean (布尔)null (空对象, typeof 检测为object)undefine(未定义)symbol (符号类型)...

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即可)

目录
相关文章
|
3天前
|
JavaScript 前端开发
js变量的作用域、作用域链、数据类型和转换应用案例
【4月更文挑战第27天】JavaScript 中变量有全局和局部作用域,全局变量在所有地方可访问,局部变量只限其定义的代码块。作用域链允许变量在当前块未定义时向上搜索父级作用域。语言支持多种数据类型,如字符串、数字、布尔值,可通过 `typeof` 检查类型。转换数据类型用 `parseInt` 或 `parseFloat`,将字符串转为数值。
9 1
|
19天前
|
JavaScript
JS 获取对象数据类型的键值对的键与值
JS 获取对象数据类型的键值对的键与值
|
27天前
|
JavaScript
typeof 和 instanceofJS数据类型(js的问题)
typeof 和 instanceofJS数据类型(js的问题)
|
2月前
|
JavaScript 前端开发
JavaScript 中有哪些数据类型?
JavaScript 中有哪些数据类型?
18 3
|
2月前
|
JavaScript
JS常用数据类型转换
JS常用数据类型转换
13 1
|
2月前
|
存储 JavaScript 前端开发
javascript的8中数据类型
javascript的8中数据类型
|
2月前
|
JavaScript 前端开发 开发者
编程笔记 html5&css&js 071 JavaScript Symbol 数据类型
编程笔记 html5&css&js 071 JavaScript Symbol 数据类型
|
27天前
|
JavaScript
数据类型转换(js的问题)
数据类型转换(js的问题)
|
1天前
|
存储 前端开发 JavaScript
【Web 前端】JS数据类型有哪些?区别?
【4月更文挑战第22天】【Web 前端】JS数据类型有哪些?区别?
|
12天前
|
JavaScript 前端开发
js数据类型有几类?一共有几种?判断数据类型的方法是什么?
js数据类型有几类?一共有几种?判断数据类型的方法是什么?