Function getObjectValue

  • Alpha

    从对象中获取指定键的值obj[key] ?? defaultValue,支持设置默认值

    通过函数重载,推导返回值的类型

    Type Parameters

    • T extends object
    • K extends string | number | symbol

    Parameters

    • obj: T

      要获取值的对象,可以是null、undefined

    • key: K

      要获取的键

    Returns T[K]

    null、undefined返回defaultValue,其他返回 obj[key] ?? defaultValue

    const data = { name: 'xiaoming', age: 18 }

    getObjectValue(data, 'name') // xiaoming 返回值的类型为 string
    getObjectValue(data, 'age') // 18 返回值的类型为 number

    const key:string= 'gender'
    getObjectValue(data, key) // undefined 返回值的类型为 string | number | undefined
    getObjectValue(data, key , [1]) // man 返回值的类型为 string | number | number[]
  • Type Parameters

    • T extends object
    • K extends string | number | symbol

    Parameters

    • obj: undefined | null | T
    • key: K

    Returns T[K] | undefined

  • Type Parameters

    • T extends object
    • K extends string | number | symbol

    Parameters

    • obj: undefined | null | T
    • key: K
    • defaultValue: NonNullable<T[K]>

    Returns NonNullable<T[K]>

  • Type Parameters

    • T extends object

    Parameters

    • obj: undefined | null | T
    • key: string

    Returns T[keyof T] | undefined

  • Type Parameters

    • T extends object
    • P

    Parameters

    • obj: undefined | null | T
    • key: string
    • defaultValue: P

    Returns NonNullable<T[keyof T]> | P