JS里的数据类型

js里共有其中基本数据类型:number、string、boolean、undefined、null、object、symbol.

  1. number
  • 整数和小数:(比如1和3.14)
  • 科学记数法:1.23e2
  • 二进制:0b11
  • 八进制:011(后来 ES5 添加了 0o11 语法)
  • 十六进制:0x11
  1. string
  • 空字符串:''
  • 多行字符串:
  var s = '12345' +
          '67890' // 无回车符号
  或
  var s = `12345
           67890` // 含回车符号
  1. boolean
    表示真伪的两个特殊值,即true(真)和false(假)
  • a && b 在 a 和 b 都为 true 时,取值为 true;否则为 false
  • a || b 在 a 和 b 都为 false 时,取值为 false;否则为 true

下列运算符会返回布尔值:

两元逻辑运算符: && (And),|| (Or)
前置逻辑运算符: ! (Not)
相等运算符:===,!==,==,!=
比较运算符:>,>=,<,<=

如果 JavaScript 预期某个位置应该是布尔值,会将该位置上现有的值自动转为布尔值。转换规则是除了下面六个值被转为false,其他值都视为true。

undefined
null
false
0
NaN
""或''(空字符串)
  1. undefined和null
    undefined:表示“未定义”或不存在,即由于目前没有定义,所以此处暂时没有任何值。
    null:表示空值,即此处的值为空。
    i. (规范)如果一个变量没有被赋值,那么这个变量的值就是undefined
    ii.(习俗)如果你想表示一个还没赋值的对象,就用 null。如果你想表示一个还没赋值的字符串/数字/布尔/symbol,就用 undefined(但是实际上你直接 var xxx 一下就行了,不用写 var xxx = undefined)

  2. object

  • object就是上面几种基本类型(无序地)组合在一起
  • object里面可以有object
var person = {
      name: 'Frank', 
      'child': {
          name: 'Jack'
      }, // 最后这个逗号可有可无
  }
  • object 的 key 一律是字符串,不存在其他类型的 key
  • object[''] 是合法的
  • object['key'] 可以写作 object.key (查看一个对象本身的所有属性,可以使用Object.keys方法。)
var obj = {
  key1: 1,
  key2: 2
};

Object.keys(obj);
// ['key1', 'key2']
  • 注意 object.key 与 object[key] 不同

  • delete object['key'] (delete命令用于删除对象的属性,删除成功后返回true。)

  • 'key' in object
    (in运算符用于检查对象是否包含某个属性(注意,检查的是键名,不是键值),如果包含就返回true,否则返回false。)

var obj = { p: 1 };
'p' in obj // true

(in运算符的一个问题是,它不能识别哪些属性是对象自身的,哪些属性是继承的。)

var obj = {};
'toString' in obj // true
上面代码中,toString方法不是对象obj自身的属性,而是继承的属性。但是,in运算符不能识别,对继承的属性也返回true。

6.symbol
Symbol 的用途:Symbol 可以创建一个独一无二的值(但并不是字符串)。
即:Symbol 生成一个全局唯一的值。
js中的symbol

7.typeof操作符

xxx 的类型 string number boolean symbol undefined null object function
typeof xxx 'string' 'number' 'boolean' 'symbol' 'undefined' 'object' 'object' 'function'

注意 function 并不是一个类型!

文章著作权归irwenjing所有,转载须说明来源

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

推荐阅读更多精彩内容

  • 第2章 基本语法 2.1 概述 基本句法和变量 语句 JavaScript程序的执行单位为行(line),也就是一...
    悟名先生阅读 4,114评论 0 13
  • 1. 七种数据类型 number 数值 :整数和小数 string字符串 : 文本 boolean布尔值 :tru...
    加油吧_阅读 146评论 0 0
  • JS中的数据类型可以分为七种:string 、number、boolean、symbol、 underfine 、...
    鋕畵阅读 299评论 0 0
  • JS有7种数据类型:number、string、boolean、null、undefined、symbol、obj...
    谢小疯阅读 220评论 0 0
  • 鼓楼 明城墙 大雁塔 大明宫国家遗址公园一景 骊山风景区烽火台 华清池一景 大唐芙蓉园 兵马俑 西安地图
    青花素彩阅读 616评论 2 6