diff --git a/SECURITY.md b/SECURITY.md index f944631f..64f07973 100644 --- a/SECURITY.md +++ b/SECURITY.md @@ -6,7 +6,7 @@ The following table describes the versions of this project that are currently su | Version | Supported | | ------- | ------------------ | -| 1.x | :white_check_mark: | +| 1.x | :white_check_mark: | ## Reporting a Vulnerability diff --git a/docs/ja/reference/compat/predicate/isObject.md b/docs/ja/reference/compat/predicate/isObject.md new file mode 100644 index 00000000..72dcbcf7 --- /dev/null +++ b/docs/ja/reference/compat/predicate/isObject.md @@ -0,0 +1,42 @@ +# isObject + +::: info +この関数は互換性のために `es-toolkit/compat` からのみインポートできます。代替可能なネイティブ JavaScript API があるか、まだ十分に最適化されていないためです。 + +`es-toolkit/compat` からこの関数をインポートすると、[lodash と完全に同じように動作](../../../compatibility.md)します。 +::: + +与えられた値がオブジェクトかどうかをチェックします。オブジェクトはプリミティブ型(文字列、数値、真偽値、シンボル、`null`、または`undefined`)ではない値です。 + +この関数は提供された値がオブジェクトかどうかをテストします。 +値がオブジェクトであれば`true`を返し、それ以外の場合は`false`を返します。 + +この関数はTypeScriptの型述語としても機能し、引数の型をオブジェクト値に絞り込みます。 + +## インターフェース + +```typescript +function isObject(value: unknown): value is object; +``` + +### パラメータ + +- `value` (`unknown`): それがオブジェクトかどうかを確認する値。 + +### 戻り値 + +(`value is object`): 値がオブジェクトの言語型である場合は`true`、それ以外の場合は`false`。 + +## 例 + +```typescript +const value1 = {}; +const value2 = [1, 2, 3]; +const value3 = () => {}; +const value4 = null; + +console.log(isArray(value1)); // true +console.log(isArray(value2)); // true +console.log(isArray(value3)); // true +console.log(isArray(value4)); // false +``` diff --git a/docs/zh_hans/reference/compat/predicate/isObject.md b/docs/zh_hans/reference/compat/predicate/isObject.md new file mode 100644 index 00000000..0d2c1810 --- /dev/null +++ b/docs/zh_hans/reference/compat/predicate/isObject.md @@ -0,0 +1,41 @@ +# isObject + +::: info +出于兼容性原因,此函数仅在 `es-toolkit/compat` 中提供。它可能具有替代的原生 JavaScript API,或者尚未完全优化。 + +从 `es-toolkit/compat` 导入时,它的行为与 lodash 完全一致,并提供相同的功能,详情请见 [这里](../../../compatibility.md)。 +::: + +检查给定的值是否为对象。对象是不属于原始类型(字符串、数字、布尔值、符号、null 或未定义)的值。 + +此函数测试提供的值是否为对象。如果该值是一个对象,则返回 `true`,否则返回 `false`。 + +此函数还可以作为 TypeScript 中的类型谓词,将参数的类型缩小到对象值。 + +## 签名 + +```typescript +function isObject(value: unknown): value is object; +``` + +### 参数 + +- `value` (`unknown`): 要检查是否为对象的值。 + +### 返回值 + +(`value is object`): 如果该值是对象类型,则返回 `true`,否则返回 `false`。 + +## 示例 + +```typescript +const value1 = {}; +const value2 = [1, 2, 3]; +const value3 = () => {}; +const value4 = null; + +console.log(isArray(value1)); // true +console.log(isArray(value2)); // true +console.log(isArray(value3)); // true +console.log(isArray(value4)); // false +``` diff --git a/src/compat/predicate/isObject.spec.ts b/src/compat/predicate/isObject.spec.ts index 86425bbe..ad736686 100644 --- a/src/compat/predicate/isObject.spec.ts +++ b/src/compat/predicate/isObject.spec.ts @@ -10,7 +10,7 @@ describe('isObject', () => { it('should return `true` if value is an object', () => { expect(isObject(args)).toBe(true); expect(isObject({})).toBe(true); - expect(isObject(() => { })).toBe(true); + expect(isObject(() => {})).toBe(true); expect(isObject([1, 2, 3])).toBe(true); expect(isObject(Object(false))).toBe(true); expect(isObject(new Date())).toBe(true); diff --git a/src/compat/predicate/isObject.ts b/src/compat/predicate/isObject.ts index 38dee35c..ed56c39e 100644 --- a/src/compat/predicate/isObject.ts +++ b/src/compat/predicate/isObject.ts @@ -1,6 +1,6 @@ /** - * Checks if the given value is the language type of Object. - * https://262.ecma-international.org/7.0/#sec-ecmascript-language-types + * Checks if the given value is an object. An object is a value that is + * not a primitive type (string, number, boolean, symbol, null, or undefined). * * This function tests whether the provided value is an object or not. * It returns `true` if the value is an object, and `false` otherwise. @@ -23,6 +23,5 @@ */ export function isObject(value: unknown): value is object { - const type = typeof value; - return value !== null && (type === 'object' || type === 'function'); + return value !== null && (typeof value === 'object' || typeof value === 'function'); }