# isStrictComparable

# Description

检查value是否适合严格相等比较,即===。

# Params

value

# Return

Boolean

# Depend

import isObject from '../isObject.js'

isObject 源码分析

# Code

function isStrictComparable(value) {
  return value === value && !isObject(value)
}

# Analyze

  1. value === value ,除 NaN 以外都满足
  2. !isObject(value) ,也就是说 typeof value != 'object' 即可
  3. 也就是说满足以上条件的值,都可以使用 === 来进行判断

# Remark

  1. 严格相等 MDN (opens new window)

# Example

console.log(isStrictComparable(3)) // true
console.log(isStrictComparable({a: 1})) // false
console.log(isStrictComparable(() => {})) // false