本篇为介绍逻辑运算子,并搭配if做解释。
逻辑运算子的短路特性
:
若单看运算子左运算元,就可以推断出整个结果时,此时会略过右运算元
if结构:当符合条件後为true,开始执行码;不符合条件为false,不动作。
if (条件){
执行码;
}
不一定要是布林值
,也可以是物件
或字串
。因为里面的值会被 JS 自动转型
;条件为(a > 5),代表a小於5不运作,若写成(0),则会直接不运作。Falsy
:0、NaN、'' (空字串)、false、null、undefinedTruthy
:除了Falsy以外都是。> 'left' && 'right';
'right' //回传值:左运算元非空字串,会当作结果成立,所以再判断右运算元,也非空字串,所以判断整个 && 成立,由於是停在第二个运算元,所以传回 'right'。
> 0 && 'right';
0 //回传值:会被当作不成立,此时不用判断右运算元,就可判断整个 && 运算不成立,所以直接传回 0。
> 'left' && 0;
0 //回传值:由於左运算元非空字串,会当作结果成立,所以再判断右运算元为 0,所以当作不成立,整个&&运算此时确认不成立,传回0。
>
var a = 1 ;
var b = 2 ;
var c = 0 ;
console.log(a && b && c); //0
试解:
if( 0 || 1 ){};
运作方式:
var a = 0 ;
var b = 1 ;
console.log(0 || 1)//回传1,非true或是false。
function doSome(arg) {
var option = arg || 'default';
return option;
}
console.log(doSome()); // default
console.log(doSome('caterpillar')); // caterpillar
解:
回传值default:
先找出arg || 'default'是否成立。
先判断|| 的左侧arg || 'default',因无参数填入函式,arg不成立。
再判断|| 的右侧'default','default'为字串不属於falsy,成立并回传值default。
回传值caterpillar:
先找出arg || 'default'是否成立。
先判断|| 的左侧arg || 'default',因有参数填入函式,arg成立,传回值caterpillar。
var a = 1 ;
var b = 2 ;
var c = 0 ;
console.log(c || c && c || a); //1
解:
if( !0 ){};
运作方式:
let age =30;
if(age = 18){
console.log("符合条件") //会印出符合条件
};
因为(age = 18) 的结果是18,不属於falsy家族
且(age = 18)等同18
参考资料:
昨天将网站放上Heroku後,其实还有遇到一些问题,并加强了部分功能,故今天的内容主要将记录这些问题...
Yo! 我是Rachel。今年成功从行销转职成前端工程师, 在前辈的鼓励下参加了铁人赛!这次选择了前...
https://wolkesau.medium.com/golang-语言-d86e8a781fb3...
动态元件(Dynamic-Components)是指Vue可以根据传入参数的,来去切换不同的元件。 ...
题目 给一个型别为string的boolean expression,回传结果(true or fa...