- 本文参加了由公众号@若川视野 发起的每周源码共读活动, 点击了解详情一起参与。
- 这是源码共读的第36期,链接:juejin.cn/post/711878…
笔记
- 源码地址:github.com/benjycui/om…
- 源码基本功能:剔除对象属性
- 具体功能说明:传入目标对象(obj)和希望删除的属性(fields),返回删除fields对应的多个属性的obj的浅拷贝对象
- 局限:只能删除一级属性(优化方向:能够删除指定的任意层级的属性)
- 一些小技巧:
- obj的浅拷贝:
Object.assign({}, obj) - 删除对象中不需要的属性:
delete obj[keyName] - 规避eslint的对象内容分行展示的规则: 在目标代码上方加上注释
// eslint-disable-next-line prefer-object-spread
- obj的浅拷贝: