const { toString } = {}
const { slice } = ''
const bind = (f, ctx, ...args) => (...more) => f.call(ctx, ...args.concat(more))
const name = (o) => {
const src = bind(toString, o)
const boundSlice = (f, ...rest) => bind(slice, f())(...rest)
return boundSlice(src, 8, -1)
}
我有这段代码可以获取传递给它的参数的类型。
但是只要我运行这段代码,例如去const a = name({})
,我都会得到
TypeError : name is not a function
,并在检查typeof名称时指出它是一个字符串。为什么名称的作用就像定义为字符串而不是函数一样