[JS] if…else…的簡短寫法


雖然簡寫真的很方便~不過根據 Coding style 和個人習慣,有時並不建議使用,但瞭解一下還是多少有些幫助囉。

定義變數

var a = 1, b = 0 , c = "";

單一 if 的情況

if (a) {
  c = 'OK';
}
// 簡寫
// `?:`為三元運算子(Ternary Operator)
a && (c = 'OK');
a ? (c= 'OK') : '';

if…else… 的情況

if (a) {
  b = 1;
  c = 'nice';
} else {
  b = 2;
  c = 'bad';
}
// 簡寫
// `?:`為三元運算子(Ternary Operator)
a ? ( (b = 1), (c = 'nice') ) : ( (b = 2), (c = 'bad') );

檢查變數並設定初始值

if (!b) {
  b = 2;
}
// 簡寫
b || (b = 2);

多個條件的情況

function getA () {
  if (a === 0) {
    return 'a is zero.';
  } else if (a === 1) {
    return 'a is one.';
  } else {
    return 'a is not 0 nor 1.';
  }
}
// 簡寫
// `?:`為三元運算子(Ternary Operator)
function getA () {
  return (a === 0) ? 'a is zero' : (a === 1) ? 'a is one' : 'other';
}

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *