if,else的高级写法,告别原始if, else

if,else一旦嵌套过多,就会变得特别特别的丑,而且只会用if,else也没啥意思对吧

下面举个例子,如果a大于b,输出’错的’,否则输出‘对的’

先看原始写法

  const a = 1;
  const b = 2;
  let c = null
  if(a>b){
   c = '错的'
  }else{
   c = '对的'
  }
  console.log(c)     //对的

再看这种写法

 const a = 1;
 const b = 2;
 const c =  a > b && '错的' || '对的'
 console.log(c)    //对的

下面来解释一下第二种写法,就是当a>b的时候就执行’错的’,否则就执行’对的’,因为我们的a小于b,所以输出’对的’

再举个例子,定义一个变量,当一个值为0时它为多少,当一个值为5时它为多少…

先看原始的if,else写法

  let a = null
  let b = 3
  if(b == 1){
    a = 1
  }else if(b == 2){
    a = 2
  }else{
    a = 3
  }
  console.log(a)   //3

再来看一下switch写法

 let a = null
 let b = 3
  switch (b) {
    case 1 : a = 1
      break;
    case 2 : a = 2
      break;
    case 3 : a = 3
      break;
    default: a = 0
      break;
  }
  console.log(a)    //3

再来看一下高级写法

  const b = 3
  const a = (b==1 && 1) || (b==2 && 2) || (b==3 && 3) || 0;  
  console.log(a)  //3

你可能感兴趣的:(js,if,else)