returnUndefined

returnUndefined

  • () => undefined
  1. Return undefined

    returnUndefined() // is undefined
    returnUndefined('a', 'b') // is undefined
    returnUndefined() // is undefined
    
    returnUndefined() // is undefined
    returnUndefined('a', 'b') // is undefined
    returnUndefined() // is undefined
    
  2. Developers commonly use this as a default. Below, we maintain a keyboard customizer. We only cover one macro key for now, which does nothing by default. Let's have it type 'macro1' to make sure our customizer is working.

    const doNothing = returnUndefined
    
    // keyboard customizer
    const initKeyboardConfig = () => {
      const keyboard = {
        macro1: doNothing,
      }
    
      const cfg = {
        pressMacro1: () => keyboard.macro1(),
        assignMacro1: fn => {
          keyboard.macro1 = fn
        },
        unassignMacro1: () => {
          keyboard.macro1 = doNothing
        },
      }
    
      return cfg
    }
    
    const config = initKeyboardConfig()
    const result1 = config.pressMacro1()
    console.log(result1) // is undefined
    
    const typeMacro1 = () => 'macro1'
    config.assignMacro1(typeMacro1)
    const result2 = config.pressMacro1()
    console.log(result2) // is 'macro1'
    
    config.unassignMacro1()
    const result3 = config.pressMacro1()
    console.log(result3) // is undefined
    type UnknownFunction = (...args: never[]) => unknown
    
    const doNothing = returnUndefined
    
    // keyboard customizer
    const initKeyboardConfig = () => {
      const keyboard: Record<string, UnknownFunction> = {
        macro1: doNothing,
      }
    
      const cfg = {
        pressMacro1: () => keyboard.macro1(),
        assignMacro1: (fn: UnknownFunction) => {
          keyboard.macro1 = fn
        },
        unassignMacro1: () => {
          keyboard.macro1 = doNothing
        },
      }
    
      return cfg
    }
    
    const config = initKeyboardConfig()
    const result1 = config.pressMacro1()
    console.log(result1) // is undefined
    
    const typeMacro1 = () => 'macro1'
    config.assignMacro1(typeMacro1)
    const result2 = config.pressMacro1()
    console.log(result2) // is 'macro1'
    
    config.unassignMacro1()
    const result3 = config.pressMacro1()
    console.log(result3) // is undefined
    
    const doNothing = returnUndefined
    
    // keyboard customizer
    const initKeyboardConfig = () => {
      const keyboard = {
        macro1: doNothing,
      }
    
      const cfg = {
        pressMacro1: () => keyboard.macro1(),
        assignMacro1: fn => {
          keyboard.macro1 = fn
        },
        unassignMacro1: () => {
          keyboard.macro1 = doNothing
        },
      }
    
      return cfg
    }
    
    const config = initKeyboardConfig()
    const result1 = config.pressMacro1()
    console.log(result1) // is undefined
    
    const typeMacro1 = () => 'macro1'
    config.assignMacro1(typeMacro1)
    const result2 = config.pressMacro1()
    console.log(result2) // is 'macro1'
    
    config.unassignMacro1()
    const result3 = config.pressMacro1()
    console.log(result3) // is undefined
    type UnknownFunction = (
      ...args: never[]
    ) => unknown
    
    const doNothing = returnUndefined
    
    // keyboard customizer
    const initKeyboardConfig = () => {
      const keyboard: Record<
        string,
        UnknownFunction
      > = {
        macro1: doNothing,
      }
    
      const cfg = {
        pressMacro1: () => keyboard.macro1(),
        assignMacro1: (fn: UnknownFunction) => {
          keyboard.macro1 = fn
        },
        unassignMacro1: () => {
          keyboard.macro1 = doNothing
        },
      }
    
      return cfg
    }
    
    const config = initKeyboardConfig()
    const result1 = config.pressMacro1()
    console.log(result1) // is undefined
    
    const typeMacro1 = () => 'macro1'
    config.assignMacro1(typeMacro1)
    const result2 = config.pressMacro1()
    console.log(result2) // is 'macro1'
    
    config.unassignMacro1()
    const result3 = config.pressMacro1()
    console.log(result3) // is undefined
    
  3. This function is more commonly known as noop which stands for "no operation." More intuitively, we can think of the function as "do nothing." Typically, you'll see it used in libraries that take a callback, which does nothing by default.