[英]JavaScript: destructuring with a conditional statement
I would like to get firstName
and lastName
properties from a whole user
object. I need to use a conditional statement too.我想从整个user
object 获取firstName
和lastName
属性。我也需要使用条件语句。 How to do something like that?如何做这样的事情?
getUserById(id)
and getUserByAddress(id)
use the JavaScript find()
method that returns an element or undefined
. getUserById(id)
和getUserByAddress(id)
使用返回元素或undefined
的 JavaScript find()
方法。
let { firstName, lastName } = getUserById(id);
if ({ firstName, lastName } === undefined) {
{ firstName, lastName } = getUserByAddress(id);
}
return `${firstName} ${lastName}`;
const { firstName, lastName } = getUserById(id) || getUserByAddress(id) || {};
if (firstName && lastName) {
return `${firstName} ${lastName}`;
}
return "Unknown user";
If getUserById(id)
is falsy, getUserByAddress(id)
will be executed. 如果getUserById(id)
是假的, getUserByAddress(id)
执行getUserByAddress(id)
。 If this is falsy, too, {}
will at least prevent throwing an error. 如果这也是假的, {}
将至少防止抛出错误。
const episodeParser = (
query: string, codeType ?: string, productId?: number, newProductId?: number
) => {
let queryParams = {
query,
codeType,
processId : AppConfig.PROCESS_ID,
...(productId && {productId}),
...(newProductId && {newProductId})
};
return queryParams;
}
Here, productId
and newProductId
both are optional, whatever the value of id will be there, these key will be getting in queryParams.在这里, productId
和newProductId
都是可选的,无论 id 的值是什么,这些键都会在 queryParams 中获取。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.