Есть ли упрощенное выражение для if (variable1) {variable2 = "string:" + variable1} в JavaScript? - PullRequest
0 голосов
/ 29 сентября 2018

Я недавно узнал в javascript variable=variable||"aaaa" означает

if(variable){return variable;}
else{var variable = "aaaa";}    

Тогда есть ли синтаксический сахар, который заменяет следующий код?

if(variable1){var variable2 = "aaaa" + variable1);}
else{variable2 = "";)

Я пытался var variable2=("aaaa"+variable1)||"";, но это не работает, вероятно, потому что левый член || не может быть ложным из-за "aaaa".

Ответы [ 2 ]

0 голосов
/ 29 сентября 2018

Ну, я бы этого не делал, но, может быть, вам это нравится:

var variable2 = (variable1 || '') && "aaaa" + variable1;

К сожалению, в этом случае я не нашел способа не повторять "variable1" в выражении.

0 голосов
/ 29 сентября 2018

Для этого вы можете использовать условный оператор.Если тест (первое выражение) верен, то выражение разрешается до того, что следует после ?, иначе выражение разрешается до того, что следует после ::

var variable2 = variable1
  ? "aaaa" + variable1
  : '';
...