一、什么是雙豎線丨丨
在 JavaScript 中,雙豎線 "||" 是一個邏輯運算符。它表示當左側表達式為假值(false、undefined、null、0、''等),則返回右側表達式,否則返回左側表達式。
例如,以下代碼中變量a的值是10:
因為10是真值,所以左側表達式的值是"10"。所以返回值是10,不需要計算右側表達式。
再例如,以下代碼:
因為左側表達式的值是null(假值),所以返回右側表達式的值undefined。
二、丨丨的應用場景
丨丨運算符的主要應用是提供默認值。例如,一個函數有多個參數,但是有些參數是可選的:
在以上代碼中,b 的默認值是"default value",如果調用exampleFunction()時沒有傳遞第二個參數,那么b的值就會更新為"default value"。
另一個應用是在變量的賦值中使用丨丨運算符進行值檢查,以避免賦予undefined值:
如果 someValue 值為undefined,那么myVar的值就會為"default value"。
三、注意事項
需要注意的是,如果左側表達式的值是非布爾類型,它們的值將被強制類型轉換為布爾類型。例如:
該代碼會將c的值設置為'some value',因為'some value'是真值。如果c的值是空字符串,例如"",則c的值將是'default value'。
此外,丨丨運算符支持短路求值。如果左側表達式的值是真值,則不會計算右側表達式。例如:
如果左側表達式的值是真值,將不會執行someFunction(),因為它是右側表達式。
四、總結
在JavaScript編程中,丨丨運算符是一個非常常用的運算符,它在提供默認值和值檢查的情況下非常有用。在使用時需要注意它的強制類型轉換和短路求值行為。
在 JavaScript 中,雙豎線 "||" 是一個邏輯運算符。它表示當左側表達式為假值(false、undefined、null、0、''等),則返回右側表達式,否則返回左側表達式。
例如,以下代碼中變量a的值是10:
let a = 10 || 20;
因為10是真值,所以左側表達式的值是"10"。所以返回值是10,不需要計算右側表達式。
再例如,以下代碼:
let b = null || undefined;
因為左側表達式的值是null(假值),所以返回右側表達式的值undefined。
二、丨丨的應用場景
丨丨運算符的主要應用是提供默認值。例如,一個函數有多個參數,但是有些參數是可選的:
function exampleFunction(a, b) { b = b || 'default value'; // some code here }
在以上代碼中,b 的默認值是"default value",如果調用exampleFunction()時沒有傳遞第二個參數,那么b的值就會更新為"default value"。
另一個應用是在變量的賦值中使用丨丨運算符進行值檢查,以避免賦予undefined值:
let myVar = someValue || 'default value';
如果 someValue 值為undefined,那么myVar的值就會為"default value"。
三、注意事項
需要注意的是,如果左側表達式的值是非布爾類型,它們的值將被強制類型轉換為布爾類型。例如:
let c = 'some value' || 'default value';
該代碼會將c的值設置為'some value',因為'some value'是真值。如果c的值是空字符串,例如"",則c的值將是'default value'。
此外,丨丨運算符支持短路求值。如果左側表達式的值是真值,則不會計算右側表達式。例如:
let d = true || someFunction();
如果左側表達式的值是真值,將不會執行someFunction(),因為它是右側表達式。
四、總結
在JavaScript編程中,丨丨運算符是一個非常常用的運算符,它在提供默認值和值檢查的情況下非常有用。在使用時需要注意它的強制類型轉換和短路求值行為。
上一篇css標簽中的class
下一篇ajax技術和框架的區別