Language

语言

Description:
  • 语言

Source:
Since:
  • 1.0.0

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 对象。

    浏览器环境的 BlobFile 对象,或其他继承自 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}

Description:
  • 检查值是否为 Date 对象。

Source:
Since:
  • 1.0.0
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===0Map Setsize === 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, 以下值不相等:

    1. 0 -0
    2. typeof 不同类型,如 1 Object(1)
    3. 无效日期对象,如 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

严格比较。默认 false

Returns:

如果两个值相等,返回 true,否则返回 false

Type
boolean

(static) isError(value) → {boolean}

Description:
  • 检查值是否为 ErrorDOMException

    继承自 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:

如果值为 ErrorDOMException 对象,返回 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}

Description:
  • 检查值是否为 Map 对象。

Source:
Since:
  • 1.0.0
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, 以下值不相等:

    1. 0 -0
    2. typeof 不同类型,如 1 Object(1)
    3. 无效日期对象,如 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

严格比较。默认 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}

Description:
  • 检查值是否为 undefinednull

Source:
Since:
  • 1.0.0
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:

如果值为 undefinednull,返回 true,否则返回 false

Type
boolean

(static) isNull(value) → {boolean}

Description:
  • 检查值是否为 null

Source:
Since:
  • 1.0.0
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}

Description:
  • 检查值是否为 Set 对象。

Source:
Since:
  • 1.0.0
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