JS深拷贝之cloneSymbol

代码很简单:

1
2
3
function cloneSymbol(target) {
return Object(Object.prototype.valueOf.call(target));
}

简单回顾一下Object函数:

MDN中的介绍如下:

Object 构造函数为给定值创建一个对象包装器。如果给定值是 nullundefined,将会创建并返回一个空对象,否则,将返回一个与给定值对应类型的对象。
当以非构造函数形式被调用时,Object 等同于 new Object()

Object(123)new Number(123) 的结果在 Chrome 中的表现如下:

由于 Symbol 不能通过 new 的方式调用,所以采用了最上面的那种形式。

0%