极简主义,对逻辑操作符||和&&深度运用的理解

丧心病狂的代码压缩好像违背了愉快阅读的本真,所以刨根问底想要了解个究竟,最后发现这不只是前端大牛装逼卖萌的绝技,也是代码洁癖爱好者的利器,毕竟这样看上去确实蛮优雅的;

 

一开始,我们接触到的代码是这样的

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/

posted @ 2015-07-29 16:12  TomG  阅读(192)  评论(0编辑  收藏  举报