欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

JavaScript?邏輯或?||?的妙用及相關(guān)知識普及

 更新時間:2024年12月07日 14:13:21   作者:Peter-Lu  
本文給大家介紹了JavaScript中的邏輯或運算符||的用法,包括其基本概念、真值和假值、常見應(yīng)用以及與其他邏輯運算符的對比,感興趣的朋友跟隨小編一起看看吧

在 JavaScript 中,||(邏輯或運算符)是一個非常常見但又容易被忽視的運算符。它不僅能用于條件判斷,還能在日常編程中提供默認(rèn)值、防止錯誤甚至優(yōu)化代碼邏輯。本文將帶你全面了解 || 的用法及其相關(guān)知識。

一、邏輯或的基本用法

1. 什么是 || 運算符?

|| 是 JavaScript 的邏輯運算符之一,稱為“邏輯或”。它的核心功能是返回兩個值中的“真值”:

  • 如果第一個操作數(shù)是真值,直接返回第一個操作數(shù)。
  • 如果第一個操作數(shù)是假值,返回第二個操作數(shù)。

2. 什么是真值和假值?

在 JavaScript 中,以下值被認(rèn)為是假值(falsy):

  • false
  • 0
  • NaN
  • null
  • undefined
  • 空字符串(''

其他所有值都是真值(truthy),包括:

  • 非零數(shù)字(如 1-1
  • 非空字符串(如 'hello'
  • 對象(如 {} 或 []

3. 示例講解

console.log(true || false); // 輸出:true
console.log(false || 'hello'); // 輸出:'hello'
console.log(0 || 42); // 輸出:42
console.log('' || 'default'); // 輸出:'default'
console.log(undefined || null || 'fallback'); // 輸出:'fallback'

在這些例子中,如果第一個值是假值,|| 運算符就會返回后面的值。

二、|| 在代碼中的常見應(yīng)用

1. 提供默認(rèn)值

最常見的用法之一是給可能為假值的變量提供一個默認(rèn)值。比如,當(dāng)函數(shù)的參數(shù)未傳遞時:

function greet(name) {
  name = name || 'Guest';
  console.log(`Hello, ${name}!`);
}
greet(); // 輸出:Hello, Guest!
greet('Alice'); // 輸出:Hello, Alice!

如果 nameundefined 或空字符串,那么默認(rèn)值 'Guest' 會生效。

2. 防止報錯

當(dāng)訪問一個可能不存在的對象屬性時,可以通過 || 提供默認(rèn)值,避免程序崩潰:

const user = { name: 'Alice' };
console.log(user.age || 'N/A'); // 輸出:N/A

這里 user.ageundefined,|| 返回了 'N/A'

3. 短路特性優(yōu)化代碼

|| 的短路特性是指:一旦左側(cè)操作數(shù)為真值,右側(cè)操作數(shù)就不會被計算。這種特性可以用于優(yōu)化代碼邏輯:

const getData = () => {
  console.log('Fetching data...');
  return { key: 'value' };
};
const result = true || getData();
// 輸出:沒有輸出“Fetching data...”
// 解釋:因為左側(cè)的 `true` 是真值,`getData()` 不會被調(diào)用。

三、|| 和其他邏輯運算符的對比

1. ||&&

  • || 返回第一個真值,或最后一個假值。
  • && 返回第一個假值,或最后一個真值。
console.log(false || 'hello'); // 輸出:'hello'
console.log(false && 'hello'); // 輸出:false
console.log('world' || 0); // 輸出:'world'
console.log('world' && 0); // 輸出:0

2. || 與三元運算符 ? :

有時可以用 || 替代簡單的三元運算符:

const value = input || 'default'; // 等價于:
const value2 = input ? input : 'default';

但需要注意,|| 的邏輯并不完全等同于三元運算符,當(dāng)需要區(qū)分假值(如 0false)時,三元運算符更準(zhǔn)確。

推薦:

到此這篇關(guān)于JavaScript 邏輯或 || 的妙用及相關(guān)知識詳解的文章就介紹到這了,更多相關(guān)js 邏輯或 || 使用內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • JS實現(xiàn)json對象數(shù)組按對象屬性排序操作示例

    JS實現(xiàn)json對象數(shù)組按對象屬性排序操作示例

    這篇文章主要介紹了JS實現(xiàn)json對象數(shù)組按對象屬性排序操作,涉及javascript使用sort方法針對json數(shù)組的遍歷與排序相關(guān)操作實現(xiàn)技巧,需要的朋友可以參考下
    2018-05-05
  • Knockoutjs的環(huán)境搭建教程

    Knockoutjs的環(huán)境搭建教程

    最近要在項目中使用Knockoutjs,因此今天就首先研究了一下Knockoutjs的環(huán)境搭建,并進(jìn)行了一個簡單的測試,需要的朋友可以了解下
    2012-11-11
  • Javascript里使用Dom操作Xml

    Javascript里使用Dom操作Xml

    Javascript里使用Dom操作Xml...
    2007-01-01
  • 微信小程序自定義組件Component的代碼詳解

    微信小程序自定義組件Component的代碼詳解

    這篇文章主要給大家介紹了關(guān)于微信小程序自定義組件Component的相關(guān)資料,文中通過實例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2023-03-03
  • codeMirror插件使用講解

    codeMirror插件使用講解

    codeMirror是一款十分強(qiáng)大的代碼編輯插件,提供了十分豐富的API,最近在項目中用到了這款插件,于是在這里給大家分享下使用方法和心得。具有一定的參考價值,下面跟著小編一起來看下吧
    2017-01-01
  • Javascript 虛擬 DOM詳解

    Javascript 虛擬 DOM詳解

    這篇文章主要為大家介紹了Javascript 虛擬 DOM,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2021-12-12
  • php對mongodb的擴(kuò)展(小試牛刀)

    php對mongodb的擴(kuò)展(小試牛刀)

    本文主要講解php連接、操作mongodb,有需求的朋友可以參考下
    2012-11-11
  • layui 給數(shù)據(jù)表格加序號的方法

    layui 給數(shù)據(jù)表格加序號的方法

    今天小編就為大家分享一篇layui 給數(shù)據(jù)表格加序號的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-08-08
  • Html中JS腳本執(zhí)行順序簡單舉例說明

    Html中JS腳本執(zhí)行順序簡單舉例說明

    寫在最前面的最先執(zhí)行,Body的onload事件要在頁面加載完后才執(zhí)行。
    2010-06-06
  • uni-app開發(fā)微信小程序之H5壓縮上傳圖片的問題詳解

    uni-app開發(fā)微信小程序之H5壓縮上傳圖片的問題詳解

    這次項目中做了一個圖片上傳,要求是大于2MB的就壓縮成2MB一下的再上傳,下面這篇文章主要給大家介紹了關(guān)于uni-app開發(fā)微信小程序之H5壓縮上傳圖片的問題,需要的朋友可以參考下
    2023-03-03

最新評論