4 回答

TA貢獻1780條經驗 獲得超5個贊
用于在(如果存在則顯示)、(如果存在則顯示)或空字符串||之間交替:namesurname
input.value = params.name || params.surname || '';
params.name如果存在將被輸入。否則,params.surname如果存在則輸入。否則,它將被設置為空字符串。
如果屬性可以是空字符串,而不僅僅是undefined,并且您希望顯示空字符串(如果存在),那么請改用條件運算符:
input.value = params.name !== undefined
? params.name
: params.surname !== undefined
? params.surname
: '';

TA貢獻1911條經驗 獲得超7個贊
另一種方式,玩起來很有趣:
const resolve = att => params[att]? params[att] : '';
input.value = resolve('surname') || resolve('name');
因為surname比 具有更高的優先級name,所以在分配中,surname應該排在第一位。
如果你想要name并且surname兩者都存在:
const resolve = att => params[att]? params[att] : '';
input.value = resolve('surname') + resolve('name');

TA貢獻1815條經驗 獲得超10個贊
另一種更具可讀性的方法可能是:
input.value = '';
if (params.name) input.value = params.name;
if (params.surname) input.value = params.surname;

TA貢獻1828條經驗 獲得超13個贊
if(!(params.name || params.surname)){
input.value = '';
} else if(params.name) {
input.value = params.name;
} else {
input.value = params.surname;
}
添加回答
舉報