Methods
(static) isArguments(value) → {boolean}
- Description:
检查值是否为
arguments
对象。
- Source:
- Since:
- 1.0.0
Example
isArguments(function() { return arguments }()); // true
isArguments([1, 2, 3]); // false
Parameters:
Name | Type | Description |
---|---|---|
value |
* | 要检查的值。 |
Returns:
如果值为 arguments
对象,返回 true
,否则返回 false
。
- Type
- boolean
(static) isArray(value) → {boolean}
- Description:
检查值是否为
Array
对象。
- Source:
- Since:
- 1.0.0
Example
isArray([1, 2, 3]); // true
isArray(document.body.children); // true
isArray('abc'); // false
isArray(1); // false
isArray(()=>{}); // false
Parameters:
Name | Type | Description |
---|---|---|
value |
* | 要检查的值 |
Returns:
如果值为 Array
对象,返回 true
,否则返回 false
。
- Type
- boolean
(static) isArrayBuffer(value) → {boolean}
- Description:
检查值是否为
ArrayBuffer
对象。
- Source:
- Since:
- 1.0.0
Example
isArrayBuffer(new ArrayBuffer(8)); // true
isArrayBuffer({}); // false
isArrayBuffer('2012'); // false
Parameters:
Name | Type | Description |
---|---|---|
value |
* | 要检查的值。 |
Returns:
如果值为 ArrayBuffer
对象,返回 true
,否则返回 false
。
- Type
- boolean
(static) isArrayLike(value) → {boolean}
- Description:
检查值是否为类数组。
如果一个值不是函数并且其
value.length
是大于或等于0
且小于或等于Number.MAX_SAFE_INTEGER
的整数,则该值被视为类数组。
- Source:
- Since:
- 1.0.0
Example
isArrayLike([1, 2, 3]); // true
isArrayLike(document.body.children); // true
isArrayLike('abc'); // true
isArrayLike(()=>{}); // false
Parameters:
Name | Type | Description |
---|---|---|
value |
* | 要检查的值。 |
Returns:
如果值为类数组,返回 true
,否则返回 false
。
- Type
- boolean
(static) isArrayLikeObject(value) → {boolean}
- Description:
检查值是否为类数组对象。
- Source:
- Since:
- 1.0.0
Example
isArrayLikeObject([1, 2, 3]); // true
isArrayLikeObject(document.body.children); // true
isArrayLikeObject('abc'); // false
isArrayLikeObject(()=>{}); // false
Parameters:
Name | Type | Description |
---|---|---|
value |
* | 要检查的值 |
Returns:
如果值为类数组对象,返回 true
,否则返回 false
。
- Type
- boolean
(static) isBigInt(value) → {boolean}
- Description:
检查值是否为 bigint 类型或对象。
- Source:
- Since:
- 1.8.0
Example
isBigInt(0n); // true
isBigInt(1n); // true
isBigInt(BigInt(1)); // true
isBigInt(Object(1n)); // true
isBigInt(1); // false
Parameters:
Name | Type | Description |
---|---|---|
value |
* | 要检查的值。 |
Returns:
如果值为 bigint 类型或对象,返回 true
否则返回 false
。
- Type
- boolean
(static) isBlob(value) → {boolean}
- Description:
检查值是否为
Blob
对象。浏览器环境的
Blob
或File
对象,或其他继承自Blob
的实例,都将返回true
。
- Source:
- Since:
- 1.0.0
- See:
Example
isBlob(new Blob(['a'])); // true
isBlob(new File([], 'test.txt')); // true
isBlob({}); // false
isBlob('2012'); // false
Parameters:
Name | Type | Description |
---|---|---|
value |
* | 要检查的值。 |
Returns:
如果值为 Blob
对象,返回 true
,否则返回 false
。
- Type
- boolean
(static) isBoolean(value) → {boolean}
- Description:
检查值是否为布尔类型或对象。
- Source:
- Since:
- 1.0.0
Example
isBoolean(false); // true
isBoolean(new Boolean(false)); // true
isBoolean(Object(false)); // true
isBoolean(new Boolean(false)); // true
isBoolean(null); // false
Parameters:
Name | Type | Description |
---|---|---|
value |
* | 要检查的值。 |
Returns:
如果值为布尔类型或对象,返回 true
否则返回 false
。
- Type
- boolean
(static) isBuffer(value) → {boolean}
- Description:
检查值是否为
buffer
。非 Node.js 环境,始终返回
false
。
- Source:
- Since:
- 1.0.0
Example
isBuffer(Buffer.alloc(2)); // true
isBuffer({}); // false
isBuffer('2012'); // false
Parameters:
Name | Type | Description |
---|---|---|
value |
* | 要检查的值 |
Returns:
如果值为 buffer
,返回 true
,否则返回 false
。
- Type
- boolean
(static) isDataView(value) → {boolean}
- Description:
检查值是否为
DataView
对象。
- Source:
- Since:
- 1.2.0
Example
isDataView(new DataView(new ArrayBuffer(8))); // true
Parameters:
Name | Type | Description |
---|---|---|
value |
* | 要检查的值。 |
Returns:
如果值为 DataView
对象,返回 true
,否则返回 false
。
- Type
- boolean
(static) isDate(value) → {boolean}
Example
isDate(new Date); // true
isDate('Mon April 23 2012'); // false
Parameters:
Name | Type | Description |
---|---|---|
value |
* | 要检查的值。 |
Returns:
如果值为 Date
对象,返回 true
,否则返回 false
。
- Type
- boolean
(static) isElement(value) → {boolean}
- Description:
检查值是否可能为
DOM
元素。
- Source:
- Since:
- 1.0.0
Example
isElement(document.body); // true
isElement('<body>'); // false
Parameters:
Name | Type | Description |
---|---|---|
value |
* | 要检查的值。 |
Returns:
如果值为 DOM
元素,返回 true
,否则返回 false
。
- Type
- boolean
(static) isEmpty(value) → {boolean}
- Description:
检查值是否为空对象。
类数组的
length===0
,Map
Set
的size === 0
表示为空。如果对象Object.keys
没有可枚举属性,则被认为是空的。非上述类型值,都将被认为是空的。
- Source:
- Since:
- 1.0.0
Example
isEmpty(null); // true
isEmpty(true); // true
isEmpty(1); // true
isEmpty([]); // true
isEmpty({}); // true
isEmpty(''); // false
isEmpty('abc'); // false
isEmpty([1, 2, 3]); // false
isEmpty({ a: 1, b: 2 }); // false
Parameters:
Name | Type | Description |
---|---|---|
value |
* | 要检查的值。 |
Returns:
如果值为空,返回 true
,否则返回 false
。
- Type
- boolean
(static) isEqual(value, other, customizeropt, strictCheckopt) → {boolean}
- Description:
深度比较两个值是否相等。
支持比较
boolean
number
string
symbol
array
array buffer
date
error
map
object
regexp
set
typed array
类型。对象只比较自身的属性,不包括继承和不可枚举的属性。如果
strictCheck=true
, 以下值不相等:0
-0
typeof
不同类型,如1
Object(1)
- 无效日期对象,如
new Date('')
new Date('abc')
- Source:
- Since:
- 1.3.0
Example
const value = { a: 1, b: -0 }
const other = { a: 1, b: 0 }
isEqual(value, other); // true
value === other // false
// 严格比较
isEqual(value, other, undefined, true); // false
// 自定义比较
function customizer(value, other){
if(typeof value === 'string' && typeof other === 'string'){
return true;
}
}
isEqual('a', 'b', customizer); // true
isEqual(['a'], ['b'], customizer); // true
isEqual({foo: 'a'}, {foo: 'b'}, customizer); // true
Parameters:
Name | Type | Attributes | Default | Description |
---|---|---|---|---|
value |
* | 要比较的值。 |
||
other |
* | 另一个要比较的值。 |
||
customizer |
function |
<optional> |
自定义比较。 |
|
strictCheck |
boolean |
<optional> |
false
|
严格比较。默认 |
Returns:
如果两个值相等,返回 true
,否则返回 false
。
- Type
- boolean
(static) isError(value) → {boolean}
- Description:
检查值是否为
Error
或DOMException
。继承自
Error
的对象,如EvalError
RangeError
ReferenceError
SyntaxError
TypeError
URIError
AggregateError
,都将返回true
。
- Source:
- Since:
- 1.0.0
Example
isError(new Error); // true
isError(Error); // false
Parameters:
Name | Type | Description |
---|---|---|
value |
* | 要检查的值。 |
Returns:
如果值为 Error
或 DOMException
对象,返回 true
,否则返回 false
。
- Type
- boolean
(static) isFile(value) → {boolean}
- Description:
检查值是否为
File
对象。浏览器环境的
File
对象,或其他继承自File
的实例,都将返回true
。
- Source:
- Since:
- 1.11.0
- See:
Example
isFile(new File([], 'test.txt')); // true
isBlob(new Blob(['a'])); // false
isFile({}); // false
isFile('2012'); // false
Parameters:
Name | Type | Description |
---|---|---|
value |
* | 要检查的值。 |
Returns:
如果值为 File
对象,返回 true
,否则返回 false
。
- Type
- boolean
(static) isFinite(value) → {boolean}
- Description:
检查值是否为有限数字。
同
Number.isFinite
。
- Source:
- Since:
- 1.0.0
Example
isFinite(1); // true
isFinite(Infinity); // false
isFinite(Number.MIN_VALUE); // true
isFinite('1'); // false
isFinite(null); // false
Parameters:
Name | Type | Description |
---|---|---|
value |
* | 要检查的值。 |
Returns:
如果值为有限数字,返回 true
,否则返回 false
。
- Type
- boolean
(static) isFunction(value) → {boolean}
- Description:
检查值是否为
Function
对象。Function
AsyncFunction
GeneratorFunction
Proxy
都将返回true
。
- Source:
- Since:
- 1.0.0
Example
isFunction(()=>{})); // true
isFunction(/x/); // false
Parameters:
Name | Type | Description |
---|---|---|
value |
* | 要检查的值。 |
Returns:
如果值为 Function
对象,返回 true
,否则返回 false
。
- Type
- boolean
(static) isInteger(value) → {boolean}
- Description:
检查值是否为整数。
同
Number.isInteger
。
- Source:
- Since:
- 1.0.0
Example
isInteger(1); // true
isInteger(Infinity); // false
isInteger(Number.MIN_VALUE); // false
isInteger('1'); // false
isInteger(null); // false
Parameters:
Name | Type | Description |
---|---|---|
value |
* | 要检查的值。 |
Returns:
如果值为整数,返回 true
,否则返回 false
。
- Type
- boolean
(static) isLength(value) → {boolean}
- Description:
检查值是否为有效的类数组长度。
- Source:
- Since:
- 1.0.0
- See:
Example
isLength(3); // true
isLength('3'); // false
isLength(Number.Min_VALUE); // false
isLength(Number.Infinity); // false
Parameters:
Name | Type | Description |
---|---|---|
value |
* | 要检查的值。 |
Returns:
如果值为有效的类数组长度,返回 true
,否则返回 false
。
- Type
- boolean
(static) isMap(value) → {boolean}
Example
isMap(new Map); // true
isMap(new WeakMap); // false
Parameters:
Name | Type | Description |
---|---|---|
value |
* | 要检查的值。 |
Returns:
如果值为 Map
对象,返回 true
,否则返回 false
。
- Type
- boolean
(static) isMatch(object, source, customizeropt, strictCheckopt) → {boolean}
- Description:
执行一个深比较,确定
object
是否含有和source
完全相等的属性值。注意:只有普通对象才会执行部分匹配,函数、数组不会执行部分匹配。
如果
strictCheck=true
, 以下值不相等:0
-0
typeof
不同类型,如1
Object(1)
- 无效日期对象,如
new Date('')
new Date('abc')
- Source:
- Since:
- 1.4.0
Example
const object = { a: 1, b: -0 }
isMatch(object, { a: 1 }); // true
isMatch(object, { b: 0 }); // true
// 严格比较
isMatch(object, { b: 0 }, undefined, true); // false
// 自定义比较
function customizer(objValue, srcValue){
if(typeof objValue === 'string' && typeof srcValue === 'string'){
return true;
}
}
isMatch({ foo: 'a' }, { foo: 'b' }, customizer); // true
isMatch({ foo: ['a'] }, { foo: ['b'] }, customizer); // true
isMatch({ foo: 'a' }, { foo: 'b' }, customizer); // true
Parameters:
Name | Type | Attributes | Default | Description |
---|---|---|---|---|
object |
Object | 要检查的对象。 |
||
source |
Object | 属性值相匹配的对象。 |
||
customizer |
function |
<optional> |
自定义比较。 |
|
strictCheck |
boolean |
<optional> |
false
|
严格比较。默认 |
Requires:
Returns:
如果 object
匹配,返回 true
,否则返回 false
。
- Type
- boolean
(static) isNaN(value) → {boolean}
- Description:
检查值是否为
NaN
。和
Number.isNaN
区别是new Number(NaN)
也被认为是NaN
。
- Source:
- Since:
- 1.0.0
Example
isNaN(NaN); // true
isNaN(new Number(NaN)); // true
isNaN(1); // false
Parameters:
Name | Type | Description |
---|---|---|
value |
* | 要检查的值。 |
Returns:
如果值为 NaN
,返回 true
,否则返回 false
。
- Type
- boolean
(static) isNil(value) → {boolean}
Example
isNil(undefined); // true
isNil(void 0); // true
isNil(null); // true
isNil(''); // false
isNil('a'); // false
isNil(1); // false
Parameters:
Name | Type | Description |
---|---|---|
value |
* | 要检查的值。 |
Returns:
如果值为 undefined
或 null
,返回 true
,否则返回 false
。
- Type
- boolean
(static) isNull(value) → {boolean}
Example
isNull(null); // true
isNull(void 0); // false
Parameters:
Name | Type | Description |
---|---|---|
value |
* | 要检查的值。 |
Returns:
如果值为 null
,返回 true
,否则返回 false
。
- Type
- boolean
(static) isNumber(value) → {boolean}
- Description:
检查值是否为数字类型或对象。
Infinity
-Infinity
NaN
都归类为数字。如果要排除,请使用isFinite
方法。
- Source:
- Since:
- 1.0.0
Example
isNumber(1); // true
isNumber(Infinity); // true
isNumber(Number.MIN_VALUE); // true
isNumber(NaN); // true
isNumber(new Number(1)); // true
isNumber('1'); // false
isNumber(null); // false
Parameters:
Name | Type | Description |
---|---|---|
value |
* | 要检查的值。 |
Returns:
如果值为数字类型或对象,返回 true
,否则返回 false
。
- Type
- boolean
(static) isObject(value) → {boolean}
- Description:
检查值是否为对象。(例如,数组、函数、对象、正则表达式、new Number(0) 和 new String(''))。
- Source:
- Since:
- 1.0.0
- See:
Example
isObject({}); // true
isObject([1,2,3]); // true
isObject(()=>{}); // true
isObject(null); // false
Parameters:
Name | Type | Description |
---|---|---|
value |
* | 要检查的值。 |
Returns:
如果值为对象,返回 true
,否则返回 false
。
- Type
- boolean
(static) isObjectLike(value) → {boolean}
- Description:
检查值是否为类对象。
如果一个值不为
null
并且typeof
结果为object
,则该值是类对象。
- Source:
- Since:
- 1.0.0
Example
isObjectLike({}); // true
isObjectLike([1,2,3]); // true
isObjectLike(()=>{}); // false
isObjectLike(null); // false
Parameters:
Name | Type | Description |
---|---|---|
value |
* | 要检查的值。 |
Returns:
如果值为类对象,返回 true
,否则返回 false
。
- Type
- boolean
(static) isPlainObject(value) → {boolean}
- Description:
检查值是否为普通对象,即由
Object
构造函数创建或[[Prototype]]
为null
的对象。
- Source:
- Since:
- 1.0.0
Example
function Foo(){
this.a = 1;
}
isPlainObject(new Foo); // false
isPlainObject([1,2,3]); // false
isPlainObject({ a: 1, b: 2 }); // true
isPlainObject(Object.create(null)); // true
Parameters:
Name | Type | Description |
---|---|---|
value |
* | 要检查的值。 |
Returns:
如果值为普通对象,返回 true
,否则返回 false
。
- Type
- boolean
(static) isPromiseLike(value) → {boolean}
- Description:
检测值是否类似
Promise
对象。如果一个对象包含
then
方法,它就是类似Promise
对象。
- Source:
- Since:
- 1.0.0
Example
isPromiseLike(Promise.resolve()); // true
isPromiseLike({ then: () => { } }); // true
isPromiseLike([]); // false
Parameters:
Name | Type | Description |
---|---|---|
value |
* | 要检查的值。 |
Returns:
如果值类似 Promise
对象,返回 true
,否则返回 false
。
- Type
- boolean
(static) isRegExp(value) → {boolean}
- Description:
检查值是否为
RegExp
对象。
- Source:
- Since:
- 1.0.0
Example
isRegExp(/abc/); // true
isRegExp('/abc/'); // false
Parameters:
Name | Type | Description |
---|---|---|
value |
* | 要检查的值 |
Returns:
如果值为 RegExp
对象,返回 true
,否则返回 false
。
- Type
- boolean
(static) isSafeInteger(value) → {boolean}
- Description:
检查值是否为安全整数。
同
Number.isSafeInteger
。如果一个整数是一个
IEEE-754
双精度数字,它不是四舍五入的不安全整数的结果,那么它就是安全的。安全整数范围为-(2^53 - 1)
到2^53 - 1
之间的整数,包含-(2^53 - 1)
和2^53 - 1
。
- Source:
- Since:
- 1.0.0
Example
isSafeInteger(1); // true
isSafeInteger(Infinity); // false
isSafeInteger(Number.MIN_VALUE); // false
isSafeInteger('1'); // false
isSafeInteger(null); // false
Parameters:
Name | Type | Description |
---|---|---|
value |
* | 要检查的值。 |
Returns:
如果值为安全整数,返回 true
,否则返回 false
。
- Type
- boolean
(static) isSet(value) → {boolean}
Example
isSet(new Set); // true
isSet(new WeakSet); // false
Parameters:
Name | Type | Description |
---|---|---|
value |
* | 要检查的值。 |
Returns:
如果值为 Set
对象,返回 true
,否则返回 false
。
- Type
- boolean
(static) isString(value) → {boolean}
- Description:
检查值是否为字符串类型或对象。
- Source:
- Since:
- 1.0.0
Example
isString('abc'); // true
isString(new String('abc')); // true
isString(1); // false
Parameters:
Name | Type | Description |
---|---|---|
value |
* | 要检查的值。 |
Returns:
如果值为字符串类型或对象,返回 true
,否则返回 false
。
- Type
- boolean
(static) isSymbol(value) → {boolean}
- Description:
检查值是否为
Symbol
类型或对象。
- Source:
- Since:
- 1.0.0
Example
isSymbol(Symbol()); // true
isSymbol(Symbol.iterator); // true
isSymbol("abc"); // false
Parameters:
Name | Type | Description |
---|---|---|
value |
* | 要检查的值。 |
Returns:
如果值为 Symbol
类型或对象,返回 true
,否则返回 false
。
- Type
- boolean
(static) isTypedArray(value) → {boolean}
- Description:
检查值是否为类型化数组。
- Source:
- Since:
- 1.0.0
- See:
Example
isTypedArray(new Uint8Array); // true
isTypedArray([]); // false
Parameters:
Name | Type | Description |
---|---|---|
value |
* | 要检查的值。 |
Returns:
如果值为类型化数组,返回 true
,否则返回 false
。
- Type
- boolean
(static) isUndefined(value) → {boolean}
- Description:
检查值是否为
undefined
。
- Source:
- Since:
- 1.0.0
Example
isUndefined(undefined); // true
isUndefined(null); // false
Parameters:
Name | Type | Description |
---|---|---|
value |
* | 要检查的值。 |
Returns:
如果值为 undefined
,返回 true
,否则返回 false
。
- Type
- boolean
(static) isWeakMap(value) → {boolean}
- Description:
检查值是否为
WeakMap
对象。
- Source:
- Since:
- 1.0.0
Example
isWeakMap(new WeakMap); // true
isWeakMap(new Map); // false
Parameters:
Name | Type | Description |
---|---|---|
value |
* | 要检查的值。 |
Returns:
如果值为 WeakMap
对象,返回 true
,否则返回 false
。
- Type
- boolean
(static) isWeakSet(value) → {boolean}
- Description:
检查值是否为
WeakSet
对象。
- Source:
- Since:
- 1.0.0
Example
isWeakSet(new WeakSet); // true
isWeakSet(new Set); // false
Parameters:
Name | Type | Description |
---|---|---|
value |
* | 要检查的值。 |
Returns:
如果值为 WeakSet
对象,返回 true
,否则返回 false
。
- Type
- boolean
(static) isWindow(value) → {boolean}
- Description:
检查值是否为
Window
对象。
- Source:
- Since:
- 1.10.0
Example
isWindow({}); // false
// 浏览器环境
isWindow(globalThis); // true
isWindow(window); // true
isWindow(self); // true
isWindow(frames); // true
Parameters:
Name | Type | Description |
---|---|---|
value |
* | 要检查的值。 |
Returns:
如果值为 Window
对象,返回 true
,否则返回 false
。
- Type
- boolean