极简主义,对逻辑操作符||和&&深度运用的理解
丧心病狂的代码压缩好像违背了愉快阅读的本真,所以刨根问底想要了解个究竟,最后发现这不只是前端大牛装逼卖萌的绝技,也是代码洁癖爱好者的利器,毕竟这样看上去确实蛮优雅的;
一开始,我们接触到的代码是这样的
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/
极简主义,对逻辑操作符||和&&深度运用的理解的更多相关文章
- .NET开源项目 QuarkDoc 一款自带极简主义属性的文档管理系统
		
有些话说在前头 因为公司产品业务重构且功能拆分组件化,往后会有很多的接口文档需要留存,所以急需一款文档管理系统.当时选型要求3点: 1.不能是云平台上的Saas服务,整个系统都要在自己公司部署维护(数 ...
 - JavaScript学习总结(十三)——极简主义法编写JavaScript类
		
前两天在网上无意中发现了一篇使用极简主义法定义JavaScript类的文章,原文链接,这个所谓的"极简主义法"我还是第一次听说,是荷兰程序员Gabor de Mooij提出来的,这 ...
 - 我喜欢的两个js类实现方式 现在再加上一个 极简主义法
		
闭包实现 变量是不会变的:) var myApplication = function(){ var name = 'Yuri'; var age = '34'; var status = 'sing ...
 - 流动python - 一个极简主义event制
		
event至少该系统的核心,以满足: 1.存储容器事件,可以被添加到事件来删除 2.触发事件fire 守则. class Event(list): def __call__(self, *args, ...
 - .NET Core实战项目之CMS 第八章 设计篇-内容管理极简设计全过程
		
写在前面 上一篇文章中我带着大家进行了权限部分的极简设计,也仅仅是一个基本的权限设计.不过你完全可以基于这套权限系统设计你的更复杂的权限系统,当然更复杂的权限系统要根据你的业务来进行,因为任何脱离实际 ...
 - [深度学习工具]·极简安装Dlib人脸识别库
		
[深度学习工具]·极简安装Dlib人脸识别库 Dlib介绍 Dlib是一个现代化的C ++工具箱,其中包含用于在C ++中创建复杂软件以解决实际问题的机器学习算法和工具.它广泛应用于工业界和学术界,包 ...
 - [深度应用]·Keras极简实现Attention结构
		
[深度应用]·Keras极简实现Attention结构 在上篇博客中笔者讲解来Attention结构的基本概念,在这篇博客使用Keras搭建一个基于Attention结构网络加深理解.. 1.生成数据 ...
 - 逻辑式编程语言极简实现(使用C#) - 2. 一道逻辑题:谁是凶手
		
本系列前面的文章: 逻辑式编程语言极简实现(使用C#) - 1. 逻辑式编程语言介绍 这是一道Prolog经典的练习题,中文翻译版来自阮一峰的文章<Prolog 语言入门教程>. 问题 B ...
 - 逻辑式编程语言极简实现(使用C#) - 3. 运行原理
		
本系列前面的文章: 逻辑式编程语言极简实现(使用C#) - 1. 逻辑式编程语言介绍 逻辑式编程语言极简实现(使用C#) - 2. 一道逻辑题:谁是凶手 第二天,好为人师的老明继续开讲他的私人课堂. ...
 
随机推荐
- HDOJ 1716 排列2(next_permutation函数)
			
Problem Description Ray又对数字的列产生了兴趣: 现有四张卡片,用这四张卡片能排列出很多不同的4位数,要求按从小到大的顺序输出这些4位数. Input 每组数据占一行,代表四张卡 ...
 - 检测WIfi是否打开
			
引入SystemConfiguration库并添加头文件: #import <SystemConfiguration/SystemConfiguration.h> 代码如下: NS ...
 - Poj 2887-Big String  Splay
			
题目:http://poj.org/problem?id=2887 Big String Time Limit: 1000MS Memory Limit: 131072K Total ...
 - 【原】centos6.5下hadoop cdh4.6 安装
			
1.架构准备: namenode 10.0.0.2 secondnamenode 10.0.0.3 datanode1 10.0.0.4 datanode2 1 ...
 - hdu 4414 暴力枚举
			
#include <cstdio> #include <cstring> #include <iostream> #include <cmath> #i ...
 - 京东集团副总裁李大学:像CEO一样思考 - Dancen的专栏 - 博客频道 - CSDN.NET
			
京东集团副总裁李大学:像CEO一样思考 - Dancen的专栏 - 博客频道 - CSDN.NET 京东集团副总裁李大学:像CEO一样思考
 - Traffic Lights - SGU 103(最短路)
			
题目大意:有一个城市的路线图,有N个交叉点,每两个交叉点之间只有一条路,现在想从交点u去交点v,不过这个路的交通比较特别,每个路都有一个交通灯,灯有两种颜色,蓝色和紫色,例如一条路线在交点s,t之间, ...
 - PopupWindow源码分析
			
PopupWindow是我们经常使用的一个控件,严格来说这个PopuWindow就用来在指定位置显示一个View. 经过分析源码,PopupWindow里面没有Window对象,只是把View设置到屏 ...
 - php 判断数组相等 数组运算符介绍
			
如何判断两个数组相等呢?其实很简单,用 == 或者 === 就可以了 php手册里说明如下, 例子 名称 结果 $a + $b 联合 $a 和 $b 的联合. $a == $b 相等 如果 $a 和 ...
 - Windows、Ubuntu双系统重装windows系统后grub引导的修复及默认启动项的修改
			
今天帮童鞋重装系统,他的电脑是Windows.Ubuntu双系统,需要重装的系统是windows,据说是因为很多游戏都只支持64位,要给换成64位的 = =... 于是我就帮他装了个wind ...