重识javascript的类型

数据类型(共7种):

1)Undefined

Undefined表示未定义,它只有一个值,undefined,任何变量在赋值之前类型都是Undefined,值都是undefined,一般我们可以用全局变量undefined(即名为undefined的这个变量)来表达这个值,或者用void运算来把任意一个表达式变成undefined

2)Null

Null类型,也只有一个值就是null,语句表示空值,与undefined不同,null是js的关键是而undefiend不是,所以在任何代码中,可以用null关键字获取null值。在表意上也有一定的差别,null表示定义了,但是为空,所以在实际编程中,不会把变量赋值为undefiend,这样可以保证所有值为undefiend的变量,都是从未赋值j状态

3)Boolean

Boolean类型有两个值,true和false,表示逻辑意义上的真和假,同样有关键字true和false来表示两个值。

4)Number

Number类型表示“数字”,大致对应数学中的有理数,在计算机中有一定的精度,Number 类型有 18437736874454810627(即 2^64-2^53+3) 个值,其符合IEEE 754-2008 规定的双精度浮点数规则,在js中还有三个比较特殊的值:
   1)NaN,占用了 9007199254740990,这原本是符合 IEEE 规则的数字;

   2)Infinity,无穷大;

   3)-Infinity,负无穷大

  需要注意的是:在js中,有+0和-0之分,对于加法没有影响,但是除法的场合需要区别:

 x/-0 = -Infinity

x/+0 = Infinity

5)String

String用于表示文本数据,也有长度限制,最大为2^53 - 1,但这个长度并不是我们所理解的字符数,因为string的意义并非是字符串,而是字符串的 UTF16 编码,我们字符串的操作 charAt、charCodeAt、length 等方法针对的都是 UTF16 编码。所以,字符串的最大长度,实际上是受字符串的编码长度影响的。

6)Object

7)Symbol

Symbol 是 ES6 中引入的新类型,它是一切非字符串的对象 key 的集合,在 ES6 规范中,整个对象系统被用 Symbol 重塑,

其中前五个为基本类型

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容