docs: Add docs for isObject

This commit is contained in:
raon0211 2024-09-12 21:59:33 +09:00
parent 8850580af2
commit 63e3755f18
5 changed files with 88 additions and 6 deletions

View File

@ -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

View File

@ -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
```

View File

@ -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
```

View File

@ -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);

View File

@ -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');
}