JS里的数据类型

2018-06-01  本文已影响0人  饥人谷_sunny

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

  1. number
  1. string
  var s = '12345' +
          '67890' // 无回车符号
  或
  var s = `12345
           67890` // 含回车符号
  1. boolean
    表示真伪的两个特殊值,即true(真)和false(假)

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

两元逻辑运算符: && (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

var person = {
      name: 'Frank', 
      'child': {
          name: 'Jack'
      }, // 最后这个逗号可有可无
  }
var obj = {
  key1: 1,
  key2: 2
};

Object.keys(obj);
// ['key1', 'key2']
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所有,转载须说明来源

上一篇下一篇

猜你喜欢

热点阅读