本尊混迹猿人类也有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显得越来越重要,前端工程师的地位似乎要碾压后端工程师。
是不是该考虑多学学前端知识,转行做前端工程师呢?