JS 里的数据类型


JavaScript中,总共有七种数据类型。分别为:

  • number(数字)
  • string(字符串)
  • boolean(布尔值)
  • symbol (ES6新增)
  • undefined(未定义)
  • null(空值)
  • object (对象)

array数组和function函数不在这七种当中

1. number

number数据类型,就是整数和小数。

JavaScript 内部,所有数字都是以64位浮点数形式储存,即使整数也是如此。所以,1与1.0是相同的,是同一个数。

1 === 1.0 // true

—— 阮一峰JavaScript标准参考教程

所以,在JavaScript内部,没有整数的概念,所有数字都是64位的浮点数,也就是小数。
小数的运算是不精确的,因此要小心使用.
在进行运算时,会把64位浮点数转化为整数,再进行计算。

数值的表示方法大体分为两种,字面形式和科学计数法。
字面形式表示,就是数值直接展现,一般有四种进制的表示方法:

十六进制 —— 有前缀0x或0X的数值,如 0x11
十进制 —— 没有前缀0的数值,如 16
八进制 —— 有前缀0o或0O的数值,或者有前导0、且只用到0-7的八个阿拉伯数字的数值,如011
二进制 —— 有前缀0b或0B的数值,如0b11

JavaScript中,默认为十进制。

2. string

string字符串,就是放在单引号或者双引号当中的字符。可以是多个或者零个。

'' 
'abcd'
"abcd"

声明字符串时,要使用到单引号或者双引号的符号时,外层的引号可以嵌套使用

' var a= "bcd" '
" var b = 'acd ' "

如果单双引号都要用到,则可以使用转义字符 \ 反斜杠,只要在使用的引号前加一个\

' she\'s code so \"nice\" '
//相当于字符串  she's code so "nice" 

常用的转义字符

\0 :null(\u0000)
\b :后退键(\u0008)
\f :换页符(\u000C)
\n :换行符(\u000A)
\r :回车键(\u000D)
\t :制表符(\u0009)
\v :垂直制表符(\u000B)
' :单引号(\u0027)
" :双引号(\u0022)
\ :反斜杠(\u005C)

3. boolean

boolean布尔,只有两个值,true和false。
布尔值往往用于程序流程的控制,判断一个条件的布尔值,true执行true操作,false执行false操作。

4. undefined和null

null与undefined都可以表示“没有”,含义非常相似,所以放在一起讲解。
将一个变量赋值为undefined或null,语法效果几乎没什么不同。相等运算符 == 甚至直接将两者是等价的。
两者这么相似,那么为什么要多余设计两个出来呢。这就是js的历史相关了,有兴趣的可以另外查询。
那么两者有什么不同呢,这个才是主要的。

null表示空值,undefined表示未定义。
规范上,如果一个变量没有被赋值,那么这个变量就是undefined
习惯上,如果你想表示一个还没赋值的对象,就用null

5. object

对象(object)是 JavaScript 语言的核心概念,也是最重要的数据类型。
什么是对象?简单说,对象就是一组“键值对”(key-value)的集合,是一种无序的复合数据集合。

——— 阮一峰JavaScript标准参考教程

用大括号定一个对象,对象的内容,由键名和键值组成,键名和键值用冒号分隔。

{
 key:value
}

如果有多个对象值,则用分号隔开,

{
 key1:value1 ,
 key2:value2 ,
 key3:value3 ,
 key4:value4 
}

对象的所有键名keys都是字符(引号可以省去),如果是数值,js会自动转换成字符串。
如果键名不符合标识符命名的条件,则必须添加引号,否则会报错。

6. symbol

symbol是ES6新添的类型,目前接触的不是很多,有兴趣的可以点击下方链接学习

symbol MDN

你可能感兴趣的:(JS 里的数据类型)