null不是一个对象,尽管 typeof null === “object”, 这是一个历史遗留问题,原理是不同的对象在底层都是用二进制来表示的,在js中二进制前三位是0既判断为对象,null的二进制表示全是0,即前三位都是0,所以执行typeof(null)的时候返回object,实际上null是基本数据类型。