【发布时间】:2020-02-11 04:34:51
【问题描述】:
tl;dr: 使用undefined 作为值是一种好习惯,还是应该避免使用它并尝试另一种方法?
我有一个对象用作我的两个函数 createUser() 和 updateUser() 的架构,并根据我需要的值重新配置它。
对于updateUser(),我只需要发送用户在表单中输入的键,所以我知道的唯一方法是在不手动更改对象结构的情况下将值设置为undefined。
// d is passed as argument
const args = {
variables: {
where: {id: "someValue"},
data: {
username: d.username || undefined,
password: d.password || undefined,
role: d.role || undefined,
},
},
};
现在如果我只输入username,我的对象将是
variables: {
where: { id: "someValue"},
data: { username: "anotherValue" }
}
在ESLint 给我警告"Unexpected use of undefined." 之后,我重新考虑了它
注意我无法向 API 发送空值。它必须具有值或根本不发送密钥。
【问题讨论】:
-
如果需要发
undefined,ESLint说什么有什么关系? -
@ScottHunter 或其他任何人,使用
null会更好吗? -
@PaulFitzgerald 我不能用 null 来做,因为对象将与所有值为
null的键一起发送,我不想只发送我更改的键。 -
这取决于你想使用什么,旁注:你为什么要
|| undefined?我认为如果d.username(或任何其他d.prop)是未定义的,它无论如何都会是未定义的?我只会做d.username和d.password等...除非你有一些逻辑默认值,比如d.username || generateRandomUsername() -
@duxfox--我已经更新了问题
标签: javascript json object undefined eslint