JavaScript数据类型
数据类型
何为数据类型呢?数据类型在数据结构中的定义是一组性质相同的值的集合以及定义在这个值集合上的一组操作的总称。(专业术语啦,摘自百度百科)
当我们在编写代码的时候,变量是必不可少的存在,关于它的定义以及类型的划分是后续使用的关键所在。比如,我们要找一个人,首先我们要了解ta的姓名(相当于变量的定义),其次,了解ta的性别(类型的确认)之后我们才可以对号入座完成之后的相关事宜。
js中的数据类型分为两种:
类别 | 详情 |
---|---|
基本数据类型 | Number、String、Boolean、Undefined、Null、Symbol(ES6新增)、BigInt |
引用数据类型 | Object |
一、基本数据类型
Number(数值)
Number类型包含了我们认识的一切数字,包括整数和浮点数(包含小数点,且小数点后至少有一位数字的数)。
var num = 1;
var num2 = 3.14;
//检测数据类型 typeof
console.log(typeof num) //number
数据类型转换
顾名思义,将其他类型转换为数值类型,返回值均为转换后的类型,方法如下:
这里将需要转换的内容定义为变量A
方法 | 语法 | 返回值 |
---|---|---|
Number | Number(A) | 适用于任何的数据类型 |
parseInt | parseInt(A) | 提取整型 |
parseFloat | parseFloat (A) | 提取浮点数 |
检测一个变量是不是数字 isNaN
语法:isNaN(检测的变量)
返回值是一个布尔值。
false 是数字
true 不是数字
关于NaN的问题详见
链接: 和=的区别、NAN
String(字符串值)
js在代码里被单引号(’’)或者双引号("")包裹的一切内容都是字符串,表示一段文本,当然被模板字符串也就是反引号(``)包含的模板字符串也是串。(模板字符串是ES6新增内容)
var str = '今天也很快乐';
var str2 = "明天也是";
var str3 = `come on`;
console.log(typeof str) //string
数据类型转换
将其他数据类型转换为字符串类型,方法如下:
方法 | 语法 | 适用范围 |
---|---|---|
String | String(A) | 适用于任何数据类型 |
toString | A.toString() | 除去 undefined 和 null 都可以 |
拼接 | + 拼接 | 适用于任何数据类型 |
Boolean(布尔值)
该类型只有两个值,true 和 false。
场景: 条件判断;变量定义。
var a = true;
var b = false;
console.log(typeof a) //boolean
数据类型转换
将其他数据类型转换为布尔型,方法如下:
方法 | 语法 | 返回值 |
---|---|---|
Boolean | Boolean(A) | true 或者 false |
Undefined
只有一个值。使用已定义的变量,但是没有对其进行赋值的时候,返回的会是undefined。
var a ;
console.log(a). // undefined
console.log(typeof undefined) //undefined
Null
只有一个值,且值为null。
在变量赋值时,必须要给变量赋值为null,才可以得到null。
var a = null;
console.log(a) //null
console.log(typeof a) //object
Symbol
ES6新增,表示唯一的值。
二、引用数据类型
引用数据类型的值可以改变,也可以添加属性或者方法等。
引用类型包括Date、function、Array、RegExp等。
两种数据类型的区别
差异 | 基本数据类型 | 引用数据类型 |
---|---|---|
存储 | 栈内存中 | 数据存储在堆内存中,该空间的地址存储在栈内存中 |
传递值 | 变量的值 | 内存地址 |