一、背景介紹
在開發過程中,經常會遇到需要判斷一個變量是否為undefined的情況。 undefined在JS中代表着未定義或未賦值的情況,因此我們需要區分出是否為undefined,進行相應的處理。
二、JS判斷是否為undefined相關的API
1. Js判斷是否為blob對象
在使用Blob對象的時候,如果下列代碼執行後 file 仍是undefined,則說明Browser不支持Blob構造函數。
const file = new Blob() if (typeof file === 'undefined') { console.log('當前瀏覽器不支持Blob構造函數') }
2. Js判斷是否為數組最後一個元素
在構造一個新的數組之前,我們可以先進行數組最後一個元素的判斷,如果是undefined,則返回空數組。
const arr = [] const lastVal = arr[arr.length - 1] if (typeof lastVal === 'undefined') { console.log('數組最後一個元素為undefined') return [] }
3. Js判斷是否為整數
判斷一個數字是否為整數可以用%取余運算符和parseInt函數。當取余等於0且parseInt和原本數字相等,則說明它為整數。
function isInteger(num) { return parseInt(num, 10) === num && num % 1 === 0 } const a = 10 const b = 10.1 console.log(isInteger(a)) // true console.log(isInteger(b)) // false
4. Js判斷是否為字符串
判斷是否為字符串可以使用typeof運算符。
const str = 'I am a string' if (typeof str === 'string') { console.log('str為字符串類型') }
5. Js判斷是否為漢字
JS並沒有提供一種IsChinese字符的函數,但我們可以使用正則表達式進行判斷。下面這個函數判斷是否為漢字。
function isChinese(c) { const reg = /^[\u4e00-\u9fa5]{1}$/ return reg.test(c) } console.log(isChinese('您')) // true console.log(isChinese('A')) // false
6. Js判斷是否為空對象
這裡需要注意的是如果對象的屬性都是undefined,則這個對象還是空對象。
const obj = {} if (Object.keys(obj).length === 0) { console.log('obj為空對象') }
7. Js判斷是否為對象
判斷是否為對象可以使用typeof運算符。
const obj = {} if (typeof obj === 'object') { console.log('obj為對象類型') }
8. Js判斷是否為數字
判斷是否為數字可以使用typeof運算符,同時要排除 NaN 的情況。
function isNumber(num) { return typeof num === 'number' && !isNaN(num) } const a = 10 const b = 'abcd' console.log(isNumber(a)) // true console.log(isNumber(b)) // false
9. Js判斷是否為數組
判斷是否為數組可以使用Array.isArray方法或typeof運算符。
const arr = [1, 2, 3, 4] if (Array.isArray(arr)) { console.log('arr為數組類型') }
三、總結
以上就是JS判斷是否為undefined相關的API,能夠涵蓋多種場景的判斷,方便開發者在開發過程中對變量進行準確的判斷和處理。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/180129.html