我正在编写一个函数,它以对象或数组作为参数,并且我想创建一个新的、空的副本,并从原始对象中填充转换后的数据。
我想知道是否有一种简单的方法来创建这个新的对象/数组,而不必测试其类型并采取相应的行动。目前的“长”方式是:
我想知道是否有一种简单的方法来创建这个新的对象/数组,而不必测试其类型并采取相应的行动。目前的“长”方式是:
const transf = (thing) => {
if (typeof(thing) === 'array') {
const new = []
} else {
const new = {}
}
}
我希望有一种很好的“内置”方式,可以像这样做:
const transf = (thing) => {
const new = thing.emptyCopy()
}
我看过了Object.create
,但它总是创建一个object
(即使prototype
是一个array
),而typeof
返回一个字符串,不能与例如new
等一起使用。
有没有一种简便的方法来做到这一点,或者我没有运气了?
constructor
方法。 - Saurabh Agrawal