js原始类型有几种? js基本数据类型与引用类型在存储上有什么区别?null 是对象吗?

第一个问题: 

   js原始类型 有六种, 以前有五种 ,现在多了 symbol,

  1. number (整数,浮点数 int / float)

  2. string 字符串

  3.bollean 布尔型 (true false)

  4.null (空值)

  5.undefined (空值,没有,不存在)

  6.symbol

  扩展一下, null 与 undefined的区别?

  null 表示一个空对象指针,一个变量将要赋值一个对象,但是还没有赋值,此时可以赋值为null

  

1 var a = null
2 console.log(a) // null

  undefined 变量已声明,但是没有初始化, (表示该变量已经定义,但是没有赋值)

1 var b;
2 console.log(b) // undefined

第二个问题:

  1. 基本数据类型的存储

    以 栈 的形式存储, 保存与赋值指向数据本身, 用type of 来判断类型,存储空间固定.

1 var c = 4
2 console.log(c) // 4
3 var c = 5
4 console.log(c) // 5

   2. 引用类型 Object

    以 堆 的形式存储, 保存于赋值指向对象的一个指针, 用instance of 来判断类型 , 存储空间不固定

var d = {}
d.a = '123'
d.b = '234'
console.log(d) // {a: '123', b: '234'}

第三个问题: null 是对象吗?

  表明我自己的观点, null 不是对象, 他只是一个空对象指针, null instance of object ===> false

猜你喜欢

转载自www.cnblogs.com/0915ty/p/10937937.html