前言
js 中 && 和 || 使用好了,有时候能够将我们的代码写的更舒服,甚至逻辑更加清晰,合理的利用他们,能让我们的代码看起来含金量更高一些
ps:当然不一定是真的含金量高很多,如果对于用习惯的来说,确实逻辑更紧密了,个人减少了很多代码和多余判断😄
&& 是返回符合条件的最后一项或不符合的第一项 || 是返回符合条件的第一项或不符合的最后一项
这里就使用 && 举个案例, || 相信遇到合适场景,自己就知道咋回事了
案例
我有一个弹窗,点击确定后,将选中内容后回调给外部,否则提示请选择数据
让ai帮我写这一块代码,是这样的,简单粗暴易懂
//pageInfo 和 onOk 已经定义好了
const onComplete = () => {
const { dataSource, key } = pageInfo;
if (dataSource && dataSource.length > 0 && key) {
return Modal.info({
title: '信息',
content: '请选择一条数据',
});
}
const record = dataSource.find(item => item.key === key);
if (!record) {
return Modal.info({
title: '信息',
content: '请选择一条数据',
});
}
onOk && onOk(record);
}
下面我是这么写的,不想多写提示了,合理利用 && 会返回符合条件最后一项特性来实现,看起来似乎好了一点点
//pageInfo 和 onOk 已经定义好了
const onComplete = () => {
const { dataSource, key } = pageInfo;
const hasSelectedData =
dataSource &&
dataSource.length > 0 &&
key &&
dataSource.find((item) => item.key === key);
if (!hasSelectedData) {
return Modal.info({
title: "信息",
content: "请选择一条数据",
});
}
onOk && onOk(ifs.pop());
};
最后
普通的代码蕴含着我们对于代码的一些追求,你觉得什么样的代码好呢,反正我的ai感觉我的代码是屎,给我改了😄