原始值和引用值 & typeof和instanceof

八大基本类型

Number String Boolean BigInt Symbol Object null undefined

JSON 数据类型:Object Array Number String Boolean Null

对于undefined,JSON.stringify 会直接忽略

原始值和引用值

  • js数据类型分为 原始值和引用值。
    • 八大基本类型减去 Object就属于七大原始类型
    • 而引用值其实是一个对象

原始值

原始值包装类型

1
2
3
let n =new Number(0)

//原始值包装类型转成boolean值都为true

对原始值类型上调用方法,是先生成一个包装类对象,再在包装类对象上改造。

函数传参

都是按值传递,只不过引用值存的是指针

  1. 原始值传递:复制该值
  2. 引用值传递:复制指针

p86、p101

typeof和instanceof

  • typeof

typeof 有哪些返回值:number,string, boolean, bigint, symbol, undefined, object(null,array,set,map,weakmap), function(class)

  1. 原始值可以用 : typeof ‘qweqe’ === ‘string’

    注意: typeof null == ‘object’; typeof [] == ‘object’

  2. 原始值包装对象 : new String(“hello”) 会 返回 ‘object’

  • instanceof

A instanceof B : 查找A的原型链,如果查找到B的原型,则返回ture

  1. 原始值用都是返回false
  2. 实例 instanceof Function === false, 但是 实例 instanceof 类名 === true