本文参加了由公众号@若川视野 发起的每周源码共读活动,点击了解详情一起参与。
【若川视野 x 源码共读】第36期 | 可能是历史上最简单的一期 omit.js 剔除对象中的属性点击了解本期详情一起参与。
准备工作
git clone https://github.com/benjycui/omit.js.git
进入目录下
npm install
这一步花了我好长时间,也可能是我的网速问题,看到加载了很多没见过的依赖,心里发憷,一项一项的往下看吧,虽说是【共读源码】中最简单的任务,但对于我这样的小白其实一点也不简单
很搞笑,我去百度了一下omit这个单词是什么意思
说实话我还不知道怎么调试,所以我去先看看这篇文章学习如何调试js代码 新手向:前端程序员必学基本技能——调试JS代码 - 掘金 (juejin.cn)
看完了,感觉还是无从下手,我再想想别的办法,新建一个项目,在项目中使用omit.js
先看看package.json
- 发现了个
father又去github上搜了搜,是一款 NPM 包研发工具,没用过 np发布工具assert测试工具,看见有同学推荐jest- 一个包含 prettier,eslint,stylelint 的配置文件合集,这个有时间在研究
遇到的问题
- 我在新建项目中使用omit.js总是报错
后来把方法换成omit.default就可以了
不知道大家有没有遇到我这样的问题,我按入口文件去翻了一下源码,
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
function omit(obj, fields) {
// eslint-disable-next-line prefer-object-spread
var shallowCopy = Object.assign({}, obj);
for (var i = 0; i < fields.length; i += 1) {
var key = fields[i];
delete shallowCopy[key];
}
return shallowCopy;
}
var _default = omit;
exports.default = _default;//require的是exports对象,default属性指向的方法才是omit函数
学到的东西
- 测试用例的使用
Object.assign()的使用
不足之处
- 不怎么会写测试用例,应学习一下jest
- 还是习惯
console.log()调试代码
第一次这样写文章,写的不太好,慢慢迭代吧