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

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,242评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,769评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,484评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,133评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,007评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,080评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,496评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,190评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,464评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,549评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,330评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,205评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,567评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,889评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,160评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,475评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,650评论 2 335

推荐阅读更多精彩内容

  • 第2章 基本语法 2.1 概述 基本句法和变量 语句 JavaScript程序的执行单位为行(line),也就是一...
    悟名先生阅读 4,093评论 0 13
  • 1. 七种数据类型 number 数值 :整数和小数 string字符串 : 文本 boolean布尔值 :tru...
    加油吧_阅读 146评论 0 0
  • JS 里的数据类型 JavaScript 的数据类型,共有六种。 1、数值(number)2、字符串(string...
    leiuno阅读 296评论 0 1
  • 又是一年深秋季,我喜欢秋天,因为秋高气爽,感觉特别清爽,没有夏天汗水腻腻的感觉,也不比冬天的寒残。当然,春天很是讨...
    箫台散客阅读 334评论 0 3
  • 原文: 故能小而事大,辟之是犹力之少而任重也,舍粹折无适也。身不肖而诬贤,是犹伛伸而好升高也,指其顶者愈众。...
    张梅霞欢乐诵阅读 840评论 0 0