丧心病狂的代码压缩好像违背了愉快阅读的本真,所以刨根问底想要了解个究竟,最后发现这不只是前端大牛装逼卖萌的绝技,也是代码洁癖爱好者的利器,毕竟这样看上去确实蛮优雅的;
一开始,我们接触到的代码是这样的
if(a) { console.log( 'xxx') }
else{ console.log( 'ccc') }
后来又接触到 a?('xxx'):('ccc') ;
然后又出现了更加令人发指的代码缩写,难道代码压缩器们都是这么干的么?不过这样使用前最好先定义一下变量
a&&'xxx'||'ccc'
if的简写:
if(c){ console.log('piupiupiu')}
c&&console.log('piupiupiu')
介看起来好清爽啊,然而对于代码阅读来说是不是违背了愉快阅读的初衷,为了让网页渲染机器人读的快一点点,页面渲染快一丢丢,提高那么一丝丝的用户体验,然而对于那些网速奇快的国度来说,并没有什么卵用;
||或操作会返回优先返回操作符左边的值;
&&操作会先把左右的值都转换为bool布尔值类型,如果左侧的值为true则返回右侧的值(无论右侧的值是真或假,都会返回),否则返回左侧的值,包括'',[];
以下是当&&的左边为false时的返回类型
原文理解来自于工头讲解和 http://www.tashan10.com/javascript-de-ling-huo-yun-yong/