JavaScript '&&' 与 '||' 操作符

javascript 中 "&&" 操作符


1,如果第一个操作数是对象,则返回第二操作数


var res = {} && "Hello";//Hello
2, 如果第二个操作数是对象,则在第一个操作数求值为true时,才返回第二个操作数


var res2 = 0 && {};//0
var res3 = null && {};//null
var res4 = undefined && {};//undefined
var res5 = 1 && {};//[object Object]
3,如果两个操作数都是对象,则返回第二个操作数


var res6 = {toString: function(){return "the first"}} && {toString: function(){return "the second"}};//the second


javasctipt 中 "||" 操作符


1,如果第一个操作数是对象,则返回第一操作数
var res7 = {} || "Hello";//[object Object]


2, 如果第一个操作数求值为false时,则返回第二个操作数
var res8 = 0 || {};//[object Object]


3,如果两个操作数都是对象,则返回第一个操作数
var res9 = {toString: function(){return "the first"}} || {toString: function(){return "the second"}};//the first 
JavaScript 中,`&&` 和 `||` 操作符不仅用于布尔逻辑判断,它们还具有特殊的返回值规则,这使得这两个操作符非常有用且灵活。下面分别介绍这两种操作符的返回值特点: ### 1. `&&` (逻辑) 操作符 对于表达式 `a && b`: - 当左边的操作数 (`a`) 的强制转换为布尔值的结果为 `false` 时,整个表达式的返回值就是 `a` 自身; - 只有当 `a` 强制转换成布尔值为 `true` 时才会计算右边的操作数 (`b`) 并将它的实际值作为最终返回结果。 **示例:** ```javascript let result1 = false && "hello"; // 返回 false let result2 = true && "world"; // 返回 "world" let result3 = "" && undefined; // 返回空字符串 "" ``` ### 2. `||` (逻辑或) 操作符 对于表达式 `a || b`: - 若左边的操作数 (`a`) 被视为真,则立即返回该操作数的实际值; - 否则继续评估右边的操作数 (`b`),并将后者当作返回结果。 这里需要注意的是,在 JavaScript 中,“被视为假”的值包括但不限于 `false`, `0`, `-0`, `null`, `undefined`, 空字符串 (`""`);而所有其他的值都被认为是真的。 **示例:** ```javascript let result4 = null || "default value"; // 返回 "default value" let result5 = 'non-empty string' || "never here"; // 返回 "non-empty string" let result6 = '' || {} ; // 返回 {} ``` 总结来说, - `&&` 直到遇到第一个“假”就停止求值并返回那个值; - `||` 则是一旦找到一个非“假”,就会跳过后续部分直接给出此值。 这种机制允许我们利用这两个操作符来做更优雅、简洁的选择赋值和其他控制流任务。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值