JavaScript 基础数据类型详解:String、Number、Boolean 及类型转换

作者:键盘侠时间:2026-10-25 06:30:55浏览:325

本文详细介绍 JavaScript 中的六种基础数据类型,包括 String、Number、Boolean、Null 和 Undefined,以及引用类型 Object。重点讲解各类别的特性、特殊值(如 Infinity、NaN)及 typeof 检查方法,并深入剖析将其他类型强制转换为 String、Number 和 Boolean 的具体规则与函数用法。

JavaScript 中定义了六种基本数据类型,分别是 String(字符串)、Number(数值)、Boolean(布尔值)、Null(空值)、Undefined(未定义)以及 Object(对象)。其中前五种属于基本数据类型,而 Object 属于引用数据类型。

数据类型指的是字面类型 
在JS中有六种数据类型
String 	      字符串
Number	      数值
Boolean	      布尔值
Null	      空值
Undefined     未定义
Object	      对象
其中String、Number、Boolean、Null、Undefined 属于基本数据类型
Object 属于引用数据类型

在 JavaScript 中,字符串需要使用引号包裹,单引号或双引号均可使用,但需注意不能混用。引号内部不能嵌套同种引号,例如双引号内不可直接包含双引号,但单引号内可以包含双引号。字符串支持使用反斜杠(\)作为转义符来处理特殊符号,如 \" 表示双引号,\' 表示单引号,\n 表示换行,\t 表示制表符,\\ 表示反斜杠本身。

/* 
			 String字符串
			 -在JS中字符串需要使用引号起来
			 -使用双引号或者单引号都可以,但是不要混用
			 -引号不能嵌套,双引号里面不能放双引号,单引号不能放单引号
				单引号里面可以放双引号
			 */
			var str="hello";
			str ='我说:"今天心情好!"';
			/* 在字符串中我们可以使用\作为转义符,
				当表示一些特殊符号时可以可以使用\进行转义
				\"	表示"
				\'	表示'
				\n	表示换行
				\t	制表符
				\\	表示\
				加上双引号表示字符串,不加双引号表示变量
			*/
			document.write(str)

JavaScript 中的所有数值均属于 Number 类型,涵盖整数和浮点数。JavaScript 能表示的最大数值由 Number.MAX_VALUE 定义,约为 1.7976931348623157e+308。若数值超过此最大值,系统将返回 Infinity(正无穷)或 -Infinity(负无穷),使用 typeof 检查 Infinity 仍返回 Number。此外,NaN(Not a Number)是一个特殊的数值,表示非数字,typeof 检查 NaN 同样返回 number。

/* 
			 在JS中所有的数值都是NUmber类型,
			 包括整数和浮点数(小数)
			 JS中可以表示的数字最大值
			 -Number.MAX_VALUE
			 -1.7976931348623157e+308
			 超过最大值,则返回一个Infinity
				Infinity	正无穷
				-Infinity	负无穷
				使用typeof检查Infinity也会返回Number
				NAN 是一个特殊的数字,表示Not A Number
					使用typeof检查一个NaN也会返回number
			 */
			// 数字123
			var a=123;
			// 字符串123
			var b="123";
			/* 
			 可以使用一个运算符typeof
			 来检查一个变量的类型
			 语法:typeof变量
			 检查字符串时,会返回string
			 检查数值时,会返回number 
			 */
			// console.log(typeof b);
			/* a =Number.MAX_VALUE*Number.MAX_VALUE;
			a =Infinity
			console.log(typeof a); */
			a =-Number.MAX_VALUE*Number.MAX_VALUE;
			a ="abc"*"bcd"
			console.log(typeof a);
			var c=123456 + 789456;
			console.log(c)

布尔值(Boolean)仅包含两个值:true 表示真,false 表示假,主要用于逻辑判断。使用 typeof 检查布尔值变量会返回 boolean。

/* 
			Boolean布尔值 
			 布尔值只有两个,主要用来逻辑判断
			 true	表示真
			 false	表示假
			 */
			var bool=false;
			console.log(typeof bool);
			console.log(bool);

Null 类型的值唯一,即 null,专门用于表示空对象。值得注意的是,使用 typeof 检查 null 会返回 object,这是 JavaScript 的历史遗留问题。Undefined 类型也只有一个值 undefined,当声明变量但未赋值时,其默认值为 undefined。使用 typeof 检查未赋值的变量会返回 undefined。

/* 
			Null类型的值只有一个,就是null 
			 null这个值专门表示空的对象
			使用typeof检查一个null,会返回object
			undefined(未定义)类型只有一个,就undefind
			当声明一个变量,但是并不给变量赋值时,它的值就是undefind
			使用typeof检查一个undefind时也会返回undefind
			*/
			var a=null;
			console.log(typeof a);//返回object
			var b;
			console.log(b)
			console.log(typeof b)

强制类型转换是指将一种数据类型显式转换为另一种数据类型,主要涉及转换为 String、Number 和 Boolean。转换为 String 主要有两种方式:一是调用被转换数据类型的 toString() 方法,该方法不影响原变量并返回结果,但 null 和 undefined 没有此方法,调用会报错;二是使用 String() 函数,对于 Number 和 Boolean 类型,其内部逻辑类似于调用 toString(),但对于 null 和 undefined,则直接返回对应的字符串

/* 
			 强制类型转换
			 -指将一个数据类型强制转换为其他的数据类型
			 -类型转换主要指,将其他的数据类型转换为
			 String number boolean
			 */
			/* 
				一:
				将其他的数据类型转换为String
				1:调用被转换数据类型的toString()方法
				2:该方法不会影响到原变量,它会将转换的结果返回
				3:但是注意:null和undefined这两个值没有toString
					如果调用他们的方法,会报错
				二:
				1:调用String()函数,并将被转换的数据作为参数传递给函数
				2:使用String()函数做强制类型转换时,
					对于Number和Boolean实际上就是调用的toString()方法
					但是对于null和undefined,就不会调用toString()方法
						它会将null,直接转换为"null"
						将undefined直接转换为"undefined"		
			 */
			var a=123;
			//调用a的string()方法
			//调用xxx的方法yyy()方法,就是xxx.yyy()
			a=a.toString();
			a=true;
			a=a.toString();
			a=null;
			//a=a.toString();//报错
			a=undefined;
			//a=a.toString();//报错
			a=123;
			//调用String()函数,来将a转换为字符串
			a=String(a);
			a=undefined;
			a=String(a)
			console.log(typeof a);
			console.log(a);

6、将其他的数据类型转换为Number

/*
			 将其他的数据类型转换为Number
				转换方式一:使用Number()函数
						字符串转---数字
						1:如果是纯数字的字符串,则直接将其转换为数字
						2:如果字符串有非数字的内容,则转换为NaN
						3:如果字符串时一个空串或者是一个全是空格的字符串,则为0;
						布尔--》数字
							true 转换 1
							false转换 0
						Null--》数字--0
						undefined-->数字--NaN
				转换方式二:
						这种方式专门用来对付字符串
						parseInt()把一个字符串转换为一个整数
						parseFloat()把一个字符串转换为一个浮点数	
			 */
			var a= "123";
			//调用Number()函数来将a转换为Number类型
			a = Number(a);
			a = false;
			a = Number(a);
			a =null;
			a = Number(a);
			a = undefined;
			a = Number(a);
			a = "123.789px";
			//调用parseInt()函数转换为Number
			/* parseInt()可以将一个字符串中整数的内容去出来,
				然后转换为Number */
			a = parseInt(a);
			// parseFloat()作用和parseInt()类似,不同的是它可以获得有效的小数
			a = "123.789.456px";
			a = parseFloat(a);
			/* 
			如果对非String使用parseInt()或parseFloat() 
				它将先其转换为String然后在操作
			 */
			a = true;
			a = parseInt(a);
			a = 789.45;
			a = parseInt(a);
			console.log(typeof a);
			console.log(a);

7、将其他的数据类型转换为Boolean

/*  
			将其他的数据类型转换为Boolean
			使用Boolean()函数
				数字---->布尔
					除了0和NaN,其余的都是true
				字符串----》Boolean
					除了空串,其余的都是true
					null和undefined都会转换为false
					对象也会转换为true
			*/
		   var a = 123;  //true
			a = -321;	//true
			a = 0;		//false
			a = Infinity;//true
			a = NaN;		//false
		   // 调用Boolean()函数转换为布尔值
		   a = Boolean(a);
		   a = null;	//false
		   a = Boolean(a);
			a = undefined;	//false
			a = Boolean(a);
		   console.log(typeof a);
		   console.log(a);

总结

本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注本站的更多内容!

作者最新文章