版权声明:@FengyangCoder所有 https://blog.csdn.net/FengyCoder/article/details/79448739
在介绍JavaScript数据类型之前,首先我们了解下数据的概念。
- 数据是指所有能输入到计算机并被计算机程序处理的符号的介质的总称,是具有一定意义的数字、字母、符号和模拟量等的通称。
JavaScript常用数据类型
为什么要对数据进行分类?
程序在运行过程中会产生各种各样的临时数据, 为了方便数据的运算和操作, JavaScript对这些数据进行了分类, 提供了丰富的数据类型。
JavaScript中常用的数据类型有六种:
简单数据类型(4种)Number(数字类型) String(字符串类型) Boolean(布尔类型) Null和Undefined
复杂数据类型(2种)Array(数组类型) Object(对象类型)
JavaScript中查看数据类型:
typeof 操作符:会将检查的形式以字符串格式返回给我们
console.log(typeof 666); // number
var name = "区块链";
console.log(typeof name ); // string
数字类型(Number)
在JavaScript中所有的数值都是Number类型(整数或小数)
var num1= 666;
var num2= 3.1415;
console.log(typeof num1); // number
console.log(typeof num2); // number
- 由于内存的限制,ECMAScript 并不能保存世界上所有的数值,所以就会就最大值与最小值。
console.log(Number.MAX_VALUE); // 1.7976931348623157e+308 // 最小值:Number.MIN_VALUE console.log(Number.MIN_VALUE); // 5e-324 // 无穷大:Infinity, 如果超过了最大值就会返回该值 console.log(Number.MAX_VALUE + Number.MAX_VALUE); // Infinity // 无穷小:-Infinity, 如果超过了最小值就会返回该值 console.log(typeof Infinity); // number console.log(typeof -Infinity); // numberNaN 非法数字(Not A Number),JS中当对数值进行计算时没有结果返回,则返回NaN
console.log('中国' + 100);//返回值为NaN
var a = NaN;
console.log(typeof a ); // number
- 使用Number类型注意点:
- 计算整数的时候不会丢失精度,计算小数的时候回丢失精度
console.log(100 + 200);//300 console.log(1.33 * 2.55);//3.3914999999999997
字符串类型(string)
字符串类型即由单引号或者双引号引起来的。(如:'a',"abc")
var str1 = "hello 'world' "; var str2 = 'world"; console.log(typeof str1 ); // string console.log(typeof str2); // string字符串使用注意点:
// 不能一单一双,必须成对出现
var str3 = `hello world"; // 错误
- 布尔型也被称为逻辑值类型或者真假值类型
- 布尔型只能够取真(true)和假(false)两种数值, 也代表1和0,实际运算中true代表1,false代表0
var bool1 = Boolean(0); console.log(bool1 ); // false var bool2 = Boolean(1); console.log(bool2 ); // true
- Undefined这是一种比较特殊的类型,表示变量未赋值,这种类型只有一种值就是undefined
var a; console.log(a); // undefined var b = undefined; // undefined console.log(b);undefined console.log(typeof undefined)//undefined注意点:typeof undefined 返回的类型为undefined, undefined是Undefined类型的字面量, Undefined和Number,Boolean一样是一个数据类型
Null
Null 类型是第二个只有一个值的数据类型,这个特殊的值是 null- 从语义上看null表示的是一个空的对象。所以使用typeof检查null会返回一个Object
var str = null; console.log(str); // null console.log(typeof str);//object
注意:typeof null 返回的类型为object
<script > var str1 = null; var str2 = undefined; console.log(str1 == str2);//true console.log(str1 === str2);//false </script>
undefined值实际上是由null值衍生出来的,所以如果比较undefined和null是否相等,会返回true,比较它们是否严格相等,则是false。