有没有办法让 lodash 复制属性获取者和设置器
Is there a way to make lodash copy property getters and setters?
在以下情况下,我发现 lodash 似乎没有复制源对象的 getter:
const _ = require("lodash");
let sourceObject = { };
Object.defineProperty(sourceObject, "abc", {
get: () => 123
});
let cloneObject = _.cloneDeep(sourceObject);
console.log(sourceObject.abc); // 123
console.log(cloneObject.abc); // undefined
有没有办法使用 lodash 模块实现上述目标?
仅当定义的属性为 enumerable
时。这将导致它被检测到Object.keys()
这最终是 lodash 获取属性名称列表的方式。当您使用 {enumerable: true}
选项定义属性时,这是可配置的,但它默认为 false
,这就是 _.cloneDeep
不选取您的属性的原因。
请参阅 Object.defineProperty 的 MDN 文档 了解更多详情。
相关文章:
- AngularJS - 嵌套的ng-重复选择/选项,获取/设置所选值
- 如何获取/设置高图表 x轴步长
- locaction.reload(true) 会导致强制获取 - 设置 .src 时如何执行此操作
- Jquery:范围滑块:如何获取设置的范围值
- 通过 Javascript: 问题获取/设置 CSS 属性值
- 如何使用原型获取/设置 cookie.js
- 获取/设置在 Select2 倍数中单击的选项的值
- 获取/设置地图图像鼠标位置
- 如何获取/设置当前页面URL(适用于时空浏览器版本)
- 使用this from函数在作用域上获取/设置角度变量
- 获取/设置当前@关键帧百分比/更改关键帧
- 是否可以获取/设置现有路径的半径.圆
- jQuery UI菜单获取/设置活动UI菜单项
- 从javascript中获取/设置asp:文本框值
- 无法在 java 中从应用程序的服务器端获取/设置 cookie
- 获取/设置数值到localstorage
- Jquery获取/设置href协议
- 如何获取/设置表中的滚动位置
- 在面向对象JavaScript中获取/设置
- 获取/设置iframe内容的问题