js 中&&的使用

遇到下列代码goHome && (await router.replace(PageEnum.BASE_HOME));

&&这个逻辑与的作用是,当goHome为true时,执行右边的代码,否则就不会执行右边的代码

async function f(flag=false){
    flag && console.log('hi')
    console.log('hello')
}(f());

上面的代码执行结果为:hello

当修改flag为true后:

async function f(flag=false){
    flag && console.log('hi')
    console.log('hello')
}(f(true));

执行结果为:hi hello

还有这样的代码:const paramId = id || userStore.getUserInfo?.userId;

逻辑或||表示当idtrue时返回id的值,否则返回右边表达式计算的结果

下列Demo:

let n :number = 2-2 || 9-2
console.log(n)  // 7
let m :number = 3+2 || 2+3
console.log(m) // 5




原文地址:https://www.cnblogs.com/baiyifengyun/p/15113745.html