博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
你不知道的 &&
阅读量:6785 次
发布时间:2019-06-26

本文共 674 字,大约阅读时间需要 2 分钟。

昨天同事问我一个问题:

let a = {    b: {      c:1    }}复制代码

a && a.b &&a.b.c是多少我说是1。为啥是1呢?我当时给她的解释为&&取交集这个三个元素的交集为最后一个啊???感觉解释是如此的有道理!!!后来发现我的解释是错误的!!!!!

我试着输出a &&a.b.c&&a.b 结果不是我想的那样。。。。结果是{c: 1}

I am wrong !!!

于是我网上搜了一波,总结如下:

ele1 && ele2 && ele3在进行与运算前先对每一项进行布尔运算 ,如果每一项都是true那么结果为最后一个元素!!

ele1 && ele2 && ele3在进行与运算前先对每一项进行布尔运算, 如果存在一项是false那么结果为false的那一项

由此那么|| 或运算的规则是:

ele1 && ele2 && ele3在进行或(||)运算前先对每一项进行布尔运算 ,如果每一项都是false那么结果为最后一个元素!!

ele1 && ele2 && ele3在进行或(||)运算前先对每一项进行布尔运算, 如果存在一项是true那么结果为true的那一项!!

来上栗子:a.b.c&&a.b&&a结果为{b:{c:1}}

null&&33结果为 null

null || 3333 结果为3333

null || undefined 结果为undefined

理解甚浅,还望大神补充~~~~~

转载于:https://juejin.im/post/5a66f1fdf265da3e5b32f1ff

你可能感兴趣的文章
我的友情链接
查看>>
近期搜集的云应用和云计算云开发平台精选
查看>>
ant入门
查看>>
hibernate mappedBy
查看>>
HCNP学习笔记之OSPF协议原理及配置7-OSPF区间路由
查看>>
android语音识别技术
查看>>
11个 常见UI/UX设计师调查问卷分析
查看>>
网络知识必备关于TCP/IP 安全问题转载
查看>>
第一个“服务器”
查看>>
cisco ios 恢复方法
查看>>
linux下find命令的使用
查看>>
除了FTP备份之外 你该试一试多备份
查看>>
CCNA学习笔记之Dynamips使用
查看>>
JavaScript 基础语法总结
查看>>
MySQL 主从复制与读写分离概念及实践
查看>>
我的友情链接
查看>>
【JAVA】字符串去空格
查看>>
CentOS操作系统中HTTP服务安装
查看>>
JBPM6教程-10分钟玩转JBPM工作台
查看>>
JS:证件检查类
查看>>