美文网首页
JS里的数据类型

JS里的数据类型

作者: 饥人谷_sunny | 来源:发表于2018-06-01 16:18 被阅读0次

    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所有,转载须说明来源

    相关文章

      网友评论

          本文标题:JS里的数据类型

          本文链接:https://www.haomeiwen.com/subject/ffecsftx.html