JavaScript中的数据类型
JS中共有7种数据类型,分别为6种基本类型和Object
基本类型如下:
- Boolean
- Null
- Undefined
- Number
- String
- Symbol
值得一提的是与Java等强类型语言不同,JS是弱类型,就是说某个变量可以存储不同类型的值。
JS中除了Object
外,所有基本类型的值本身都是不可改变的,基本类型的值也被称为原始值
各类型简介
- Boolean
表示逻辑上的真假,可取ture
或false
- Null
Null只有一个值null
,表示空值,表示没有被呈现 - Undefined
表示变量未定义,只声明而未赋值的变量的默认值 - Number
JS中没有Java的long
,double
之类的数字类型,包括整数和小数都是Number类型,基于 IEEE 754 标准的双精度 64 位二进制格式的值。取值范围 - (263-1) 到 263-1,安全整数范围 -(253-1) 到 253-1。Number类型中有一些带符号的特殊值+Infinity
,-Infinity
,NaN
表示正负无穷和非数值。 - String
单引号或双引号括起来的一串字符,也相当于字符数组可用下标访问str[0] = 'a'
,值得注意的是String属于基本类型其值不可更改,如str.replace()
之类的函数只会在原字符串的基础上返回新的字符串 - Symbol
简单的说Symbol用于创建全局唯一值,类似Java的UUID
,但它不支持new Symbol()
,每次都会创建不同的值,传入的值仅用于调试代码var a = Symbol(); var b = Symbol("haha"); var c = Symbol("haha"); b == c // false
- Object
和其他语言的对象类似拥有属性和方法等,但是没有
私有属性,属性可以动态添加,可以简单的认为一个Object就是一组键值对,键只能是字符串或Symbol,值可以是任意类型var o = new Object(); var person = {"age": 16, "sex": "female"}; person["phone"] = "10010"; person.address = "earth" person.say = function () { console.log("hello"); } person // {age: 11, sex: "famale", phone: "10010", address: "earth", say: f}