模拟一个js底层数据类型隐式转换

隐式转换规则

  • 两端类型相同,比较值。
  • 如果一边值为NaN,一律返回false
  • undefined 和 null 只有自身与自身比较,或者这俩互相比较时才return true
  • 两端都是原始类型[number/string/boolean] 转成数字比较
  • 只要有一端是对象类型,把对象转换成原始类型后进入第1步
const isNull = (o) => o === null
const isUndefined = (o) => o === undefined
const _toString = (o) => Object.prototype.toString.call(o)
const _isNaN = (o) => _toString(o) === "[object Number]" && isNaN(o)
const isPrimitive = (o) => o !== Object(o)
const onPrimitive = (

你可能感兴趣的:(js,javascript,前端,typescript)