js中的if判断十分优美的简洁写法

本尊混迹猿人类也有5年有余,从最开始的C#到java再到php到至今的python,不能说精通,也算得上是熟悉,对各个语言的语法也算是了解。

虽然目前在开发web程序,了解一些java知识,但是今天在看到同事写的小程序中的js,使用了一种十分优美的if条件判断,还是令我十分震惊。

在我这么多年的编程中,if一直是这么写的:

if () {
    
}

也一直认为就该这么写,而今天我看到的是这么写:

function getInfoFromStorageBydid(key, did, success, error) {
  wx.getStorage({
    key: key,
    success: function (res) {
      var data = res.data[did];
      if (data) {
        typeof success === 'function' && success(data);
        wx.hideToast();
      } else {
        typeof error === 'function' && error();
      }
    },
    fail: function () {
      typeof error === 'function' && error();
    }
  });
}
重点是这句:typeof success === 'function' && success(data)

 使用&&进行简写,&&前面的表达式为真,则执行后面的表达式。

   经过搜索得知还可使用||进行简写。

   false || alert('false'); true || alert('true'); //output false; 
   用"||"的情况下,第一个条件false,才会执行第二个语句。

   false && alert('false'); true && alert('true'); //output true 
   用"&&"的情况下,第一个条件true,才会执行第二个语句。 

js经过这么多年的发展,并且随着当前web前后端分离的趋势和小程序的火热,js显得越来越重要,前端工程师的地位似乎要碾压后端工程师。

是不是该考虑多学学前端知识,转行做前端工程师呢?

原文地址:https://www.cnblogs.com/6tian/p/6118797.html