strictEquals

strictEquals

  • (item1: any) => (item2: any) => boolean
  1. Test whether something strictly equals another

    In other words, it returns the result of item1 === item2

    const isKim = strictEquals('kim')
    isKim('kim') // is true
    isKim('grace') // is false
    
    const sam = { name: 'sam' }
    const isReferenceToSam = strictEquals(sam)
    isReferenceToSam(sam) // is true
    isReferenceToSam({ name: 'sam' }) // is false
    const isKim = strictEquals('kim')
    isKim('kim') // is true
    isKim('grace') // is false
    
    const sam = { name: 'sam' }
    const isReferenceToSam = strictEquals(sam)
    isReferenceToSam(sam) // is true
    isReferenceToSam({ name: 'sam' }) // is false
    
    const isKim = strictEquals('kim')
    isKim('kim') // is true
    isKim('grace') // is false
    
    const sam = { name: 'sam' }
    const isReferenceToSam = strictEquals(sam)
    isReferenceToSam(sam) // is true
    isReferenceToSam({ name: 'sam' }) // is false
    const isKim = strictEquals('kim')
    isKim('kim') // is true
    isKim('grace') // is false
    
    const sam = { name: 'sam' }
    const isReferenceToSam = strictEquals(sam)
    isReferenceToSam(sam) // is true
    isReferenceToSam({ name: 'sam' }) // is false
    
  2. We often want to test for strict equality. Below, we have our basketball schedule for the season. Our rivals are the pandas, so let's see when we face them.

    const schedule = {
      '2025 03 12': 'koalas',
      '2025 03 15': 'cats',
      '2025 03 17': 'pandas',
      '2025 03 18': 'koalas',
      '2025 03 20': 'cats',
      '2025 03 23': 'pandas',
    }
    
    const getRivalDates = compose([keepWhen(strictEquals('pandas')), Object.keys])
    
    const dates = getRivalDates(schedule)
    console.log(dates)
    // is [
    //   2025 03 17,
    //   2025 03 23,
    // ]
    type Schedule = Record<string, string>
    const schedule: Schedule = {
      '2025 03 12': 'koalas',
      '2025 03 15': 'cats',
      '2025 03 17': 'pandas',
      '2025 03 18': 'koalas',
      '2025 03 20': 'cats',
      '2025 03 23': 'pandas',
    }
    const getRivalDates = compose([
      keepWhen(strictEquals('pandas'))<Schedule>,
      Object.keys,
    ])
    
    const dates = getRivalDates(schedule)
    console.log(dates)
    // is [
    //   2025 03 17,
    //   2025 03 23,
    // ]
    
    const schedule = {
      '2025 03 12': 'koalas',
      '2025 03 15': 'cats',
      '2025 03 17': 'pandas',
      '2025 03 18': 'koalas',
      '2025 03 20': 'cats',
      '2025 03 23': 'pandas',
    }
    
    const getRivalDates = compose([
      keepWhen(strictEquals('pandas')),
      Object.keys,
    ])
    
    const dates = getRivalDates(schedule)
    console.log(dates)
    // is [
    //   2025 03 17,
    //   2025 03 23,
    // ]
    type Schedule = Record<string, string>
    const schedule: Schedule = {
      '2025 03 12': 'koalas',
      '2025 03 15': 'cats',
      '2025 03 17': 'pandas',
      '2025 03 18': 'koalas',
      '2025 03 20': 'cats',
      '2025 03 23': 'pandas',
    }
    const getRivalDates = compose([
      keepWhen(strictEquals('pandas'))<Schedule>,
      Object.keys,
    ])
    
    const dates = getRivalDates(schedule)
    console.log(dates)
    // is [
    //   2025 03 17,
    //   2025 03 23,
    // ]