博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
学习函数链式调用,获取对象字段避免报错
阅读量:4884 次
发布时间:2019-06-11

本文共 741 字,大约阅读时间需要 2 分钟。

 

// 获取对象中的某字段// 使用方法:getObjField(obj, '--')('field1')('field2')('fieldN...')()export const O = (obj, def) => {    const getField = (field) => {        if (field) {            // 字段值为 undefined 或 null 都会设置为默认值            if (obj && obj[field] !== undefined && obj[field] !== null) {                obj = obj[field];            } else {                obj = def;            }            return getField;        }        return obj;    };    getField.toString = () => {        return obj;    };    getField.valueOf = () => {        return obj;    };    return getField;};

 

第一次调用传入对象和默认值(可选),之后的调用传入字段名,最后什么都不传调用得到返回值

toString 和 valueOf 在某些情况会执行,比如 console,而 react 的 JSX 中要展示内容,还是得执行最后的调用,否则只是返回个函数

 

转载于:https://www.cnblogs.com/3body/p/9324509.html

你可能感兴趣的文章
C语言学习的记忆
查看>>
Lucene学习总结之三:Lucene的索引文件格式(1) 2014-06-25 14:15 1124人阅读 ...
查看>>
Python:GeoJson格式的多边形裁剪Tiff影像并计算栅格数值
查看>>
免费下载知网文献的方法 | sci-hub免费下载SCI论文方法
查看>>
测试用例,变量之间,相互调用的方法,和修改原来初始化变量的方法
查看>>
Poj 2304 Combination Lock(模拟顺、逆时钟开组合锁)
查看>>
Palindrome Number
查看>>
PHP命名空间(Namespace)的使用详解
查看>>
java项目@override报错问题
查看>>
DataTable 和Json 字符串互转
查看>>
Redis安装 java中的连接 序列化 反序列化
查看>>
hdu 1896 优先队列的应用
查看>>
OpenGL 头文件,库文件
查看>>
点与不规则图形关系判断
查看>>
iOS 自定义控件--重写一些方法
查看>>
第二次冲刺作业
查看>>
【转】HTML, CSS和Javascript调试入门
查看>>
蓝桥历年试题 套娃
查看>>
微信支付体验
查看>>
Thinkphp 3.2笔记
查看>>