一、背景介紹
在開發過程中,經常會遇到需要判斷一個變量是否為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
微信掃一掃
支付寶掃一掃