JS中的数据类型及转换
js的六大类型
js中有六种数据类型,Boolean: 布尔类型 Number:数字(整数int,浮点数float ) String:字符串 Object:对象 (包含Array数组 ) 特殊数据类型 Null、Undefined
-
Boolean类型
Boolean 类型有两个值:true和false。而true一般等于1,false一般等于0。 JavaScript 是区分大小写的,True和False或者其他都不是Boolean类型的值。
- Number类型
Number 类型包含两种数值:整型和浮点型.
1.整型:
var b = 100; console.log(b);
2.就是该数值中必须包含一个小数点,并且小数点后面必须至少有一位数字
var b = 3.8; var b = 0.8; var b = .8;
3.NaN, 即非数值(Not a Number)是一个特殊的值
字符串转换数字类型: parseInt() 是把其它类型转换为整型 parseFloat() 是把其它类型转换为浮点型(小数)
-
Undefined类型
Undefined 类型只有一个值,即特殊的 undefined。在使用 var 声明变量,但没有对其初始化时,这个变量的值就是 undefined
undefined 是派生自 null 的,因此 ECMA-262 规定对它们的相等性测试返回 true, 表示值相等, 但是两者的数据类型是不一样的。
- Null 类型
Null 类型是一个只有一个值的数据类型,即特殊的值 null。它表示一个空对象引用(指针),而 typeof 操作符检测 null 会返回 object。
-
String类型
字符串有length属性。字符串转换:转型函数String(),适用于任何数据类型;toString()方法(null,defined没有toString()方法)。
- Object类型
js中对象是一组属性与方法的集合。这里就要说到引用类型了,引用类型是一种数据结构,用于将数据和功能组织在一起。引用类型有时候也被称为对象定义,因为它们描述的是一类对象所具有的属性和方法。
typeof 操作符
用来检测变量的数据类型, 对于值或变量使用 typeof 操作符会返回如下字符串:
Undefined数据类型的值为: undefined 未定义
Boolean数据类型的值为: boolean 布尔值
String数据类型的值为: string 字符串
Number数据类型的值为: number 数值
Object数据类型的值为: object 对象或者null
Function数据类型的值为: function 函数
//类型查看 typeOf 查看对应的类型的 null显示的是object (undefined是对应的null的对象扩展)
console.log(typeof number);
console.log(typeof boolean);
console.log(typeof undefined);
console.log(typeof null);
console.log(typeof string);
类型转换
- number类型转为string类型
//将对应number类型转为string类型
var str1 = number1.toString()
- string转为number
1.Number方法(直接转number类型)
2.使用parseInt方法(转整型)
3.使用parstFloat方法 (转小数)
var str2 = "1a123.12a"console.log(Number(str2));
//当你将一个内容转为的数值过程中无法被解析就会出现NaN
//从前到后拿出里面的数值 前面没有数值变成
NaNconsole.log(parseInt(str2));
console.log(parseFloat(str2));
- isNaN 是NaN返回true不是返回false
var a = 10 console.log(isNaN(a)) //false var str = 'abc' console.log(isNaN(Number(str)))//true
- 无穷大 无穷小
//无穷大 var max = Infinity //无穷小 var min = -Infinity
将字符串转为对应的boolean类型
- Boolean方法 转为布尔类型
var str = "abc" //转为boolean类型 非空就是true 空字符串表示false var b = Boolean(str) //true var b1 = Boolean('') //false
- 将number转为布尔类型
var number1 = 10// number转布尔 非0和NaN则为true NaN和0就是false console.log(Boolean(number1))//true console.log(Boolean(0))//false console.log(Boolean(NaN))//false
- 将undefined和对应的null转为boolean(false)
var un console.log(Boolean(un)) //false console.log(Boolean(null)) //false
- 将boolean类转为number类型 (false 0 true 1)
console.log(Number(true)) //1 console.log(Number(false)) //0
- 将对应的undefined和null转为number
var un
console.log(Number(un)) //NaN
console.log(Number(null)) //0
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?