# property

# Description

创建一个返回给定对象的 path 的值的函数。

# Params

path

# Return

Function

# Depend

import baseProperty from './.internal/baseProperty.js'
import basePropertyDeep from './.internal/basePropertyDeep.js'
import isKey from './.internal/isKey.js'
import toKey from './.internal/toKey.js'

baseProperty 源码分析

basePropertyDeep 源码分析

isKey 源码分析

toKey 源码分析

# Code

function property(path) {
  return isKey(path) ? baseProperty(toKey(path)) : basePropertyDeep(path)
}

# Analyze

判断 如果 path 是一个合法的 key, 如果是则使用 baseProperty 获取到值

否则有可能 path 是 一个路径,那就使用 basePropertyDeep 进行深层的获取

# Example

const func = property('a.b.c')

console.log(func({a: {b: { c: 1}}})) // 1