@rogolev/value 0.0.1 → 0.0.3
Sign up to get free protection for your applications and to get access to all the features.
- package/.prettierignore +4 -4
- package/CHANGELOG.md +82 -56
- package/LICENSE +41 -41
- package/README.md +118 -91
- package/babel.config.json +20 -20
- package/docs/classes/Convert/toArray.md +100 -0
- package/docs/classes/Convert/toAssoc.md +90 -0
- package/docs/classes/Convert/toBool.md +72 -0
- package/docs/classes/Convert/toBoolean.md +72 -0
- package/docs/classes/Convert/toFloat.md +69 -0
- package/docs/classes/Convert/toInt.md +86 -0
- package/docs/classes/Convert/toInteger.md +86 -0
- package/docs/classes/Convert/toList.md +73 -0
- package/docs/classes/Convert/toObject.md +76 -0
- package/docs/classes/Convert/toString.md +125 -0
- package/docs/classes/Convert.md +44 -0
- package/docs/classes/Type/isArray.md +106 -0
- package/docs/classes/Type/isAssoc.md +57 -0
- package/docs/classes/Type/isBigInt.md +49 -0
- package/docs/classes/Type/isBool.md +51 -0
- package/docs/classes/Type/isBoolean.md +51 -0
- package/docs/classes/Type/isClass.md +60 -0
- package/docs/classes/Type/isEmpty.md +53 -0
- package/docs/classes/Type/isFloat.md +77 -0
- package/docs/classes/Type/isFunction.md +64 -0
- package/docs/classes/Type/isInfinity.md +59 -0
- package/docs/classes/Type/isInt.md +77 -0
- package/docs/classes/Type/isInteger.md +77 -0
- package/docs/classes/Type/isList.md +49 -0
- package/docs/classes/Type/isNaN.md +57 -0
- package/docs/classes/Type/isNull.md +49 -0
- package/docs/classes/Type/isNumber.md +60 -0
- package/docs/classes/Type/isNumeric.md +58 -0
- package/docs/classes/Type/isObject.md +53 -0
- package/docs/classes/Type/isScalar.md +54 -0
- package/docs/classes/Type/isString.md +54 -0
- package/docs/classes/Type/isSymbol.md +56 -0
- package/docs/classes/Type/isUndefined.md +52 -0
- package/docs/classes/Type.md +74 -0
- package/docs/classes/Value/constructor.md +48 -0
- package/docs/classes/Value/get.md +51 -0
- package/docs/classes/Value/getType.md +71 -0
- package/docs/classes/Value/isArray.md +67 -0
- package/docs/classes/Value/isAssoc.md +68 -0
- package/docs/classes/Value/isBigInt.md +52 -0
- package/docs/classes/Value/isBool.md +60 -0
- package/docs/classes/Value/isBoolean.md +60 -0
- package/docs/classes/Value/isClass.md +55 -0
- package/docs/classes/Value/isEmpty.md +84 -0
- package/docs/classes/Value/isFloat.md +52 -0
- package/docs/classes/Value/isFunction.md +60 -0
- package/docs/classes/Value/isInfinity.md +60 -0
- package/docs/classes/Value/isInt.md +52 -0
- package/docs/classes/Value/isInteger.md +52 -0
- package/docs/classes/Value/isList.md +59 -0
- package/docs/classes/Value/isNaN.md +79 -0
- package/docs/classes/Value/isNull.md +59 -0
- package/docs/classes/Value/isNumber.md +80 -0
- package/docs/classes/Value/isNumeric.md +79 -0
- package/docs/classes/Value/isObject.md +68 -0
- package/docs/classes/Value/isScalar.md +72 -0
- package/docs/classes/Value/isString.md +67 -0
- package/docs/classes/Value/isSymbol.md +75 -0
- package/docs/classes/Value/isUndefined.md +67 -0
- package/docs/classes/Value/print.md +164 -0
- package/docs/classes/Value/printType.md +158 -0
- package/docs/classes/Value/setType.md +79 -0
- package/docs/classes/Value/toArray.md +85 -0
- package/docs/classes/Value/toAssoc.md +85 -0
- package/docs/classes/Value/toBool.md +71 -0
- package/docs/classes/Value/toBoolean.md +71 -0
- package/docs/classes/Value/toFloat.md +72 -0
- package/docs/classes/Value/toInt.md +72 -0
- package/docs/classes/Value/toInteger.md +72 -0
- package/docs/classes/Value/toList.md +77 -0
- package/docs/classes/Value/toObject.md +78 -0
- package/docs/classes/Value/toPrint.md +115 -0
- package/docs/classes/Value/toPrintType.md +110 -0
- package/docs/classes/Value/toString.md +134 -0
- package/docs/classes/Value.md +113 -0
- package/docs/classes.md +11 -0
- package/docs/constants.md +47 -0
- package/docs/helpers/array.md +80 -80
- package/docs/helpers/empty.md +77 -77
- package/docs/helpers/gettype.md +69 -69
- package/docs/helpers/is_array.md +105 -105
- package/docs/helpers/is_assoc.md +59 -59
- package/docs/helpers/is_bigint.md +57 -57
- package/docs/helpers/is_bool.md +50 -50
- package/docs/helpers/is_boolean.md +50 -50
- package/docs/helpers/is_class.md +73 -73
- package/docs/helpers/is_float.md +71 -71
- package/docs/helpers/is_function.md +62 -62
- package/docs/helpers/is_infinity.md +61 -61
- package/docs/helpers/is_int.md +81 -81
- package/docs/helpers/is_integer.md +82 -82
- package/docs/helpers/is_list.md +51 -51
- package/docs/helpers/is_nan.md +59 -59
- package/docs/helpers/is_null.md +49 -49
- package/docs/helpers/is_number.md +67 -67
- package/docs/helpers/is_numeric.md +76 -76
- package/docs/helpers/is_object.md +69 -69
- package/docs/helpers/is_scalar.md +60 -60
- package/docs/helpers/is_string.md +58 -58
- package/docs/helpers/is_symbol.md +58 -58
- package/docs/helpers/is_undefined.md +56 -56
- package/docs/helpers/print.md +187 -187
- package/docs/helpers/print_type.md +225 -225
- package/docs/helpers/settype.md +78 -78
- package/docs/helpers/to_array.md +106 -106
- package/docs/helpers/to_assoc.md +91 -91
- package/docs/helpers/to_bool.md +76 -76
- package/docs/helpers/to_boolean.md +77 -77
- package/docs/helpers/to_float.md +70 -70
- package/docs/helpers/to_int.md +87 -87
- package/docs/helpers/to_integer.md +87 -87
- package/docs/helpers/to_list.md +47 -47
- package/docs/helpers/to_object.md +76 -76
- package/docs/helpers/to_string.md +134 -134
- package/docs/helpers/value.md +95 -0
- package/docs/helpers.md +53 -51
- package/docs/types/NaN.md +30 -30
- package/docs/types/array.md +252 -252
- package/docs/types/bigint.md +34 -34
- package/docs/types/boolean.md +47 -47
- package/docs/types/class.md +36 -36
- package/docs/types/float.md +35 -35
- package/docs/types/function.md +121 -121
- package/docs/types/infinity.md +32 -32
- package/docs/types/integer.md +35 -35
- package/docs/types/null.md +23 -23
- package/docs/types/object.md +62 -62
- package/docs/types/string.md +33 -33
- package/docs/types/symbol.md +29 -29
- package/docs/types/undefined.md +25 -25
- package/docs/types.md +44 -44
- package/eslint.config.mjs +1664 -1664
- package/index.mjs +43 -37
- package/jest.config.mjs +31 -31
- package/package.json +48 -47
- package/prettier.config.mjs +224 -224
- package/src/classes/Convert.mjs +818 -0
- package/src/classes/Type.mjs +1284 -0
- package/src/classes/Value.mjs +2846 -0
- package/src/constants.mjs +14 -0
- package/src/helpers/gettype.mjs +30 -14
- package/src/helpers/value.mjs +92 -0
- package/tests/classes/Convert.test.mjs +398 -0
- package/tests/classes/Type.test.mjs +1262 -0
- package/tests/classes/Value.test.mjs +423 -0
- package/tests/constants.test.mjs +75 -0
- package/tests/helpers/value.test.mjs +68 -0
@@ -0,0 +1,125 @@
|
|
1
|
+
[Главная](../../../README.md) / [Классы](../../classes.md) / [Convert](../Convert.md) / toString
|
2
|
+
|
3
|
+
[Исходный код](../../../src/classes/Convert.mjs)
|
4
|
+
|
5
|
+
# Convert.toString
|
6
|
+
|
7
|
+
`Convert.toString` — Преобразует значение в строку.
|
8
|
+
|
9
|
+
## Сигнатура метода
|
10
|
+
|
11
|
+
```ts
|
12
|
+
static toString(value: any): string;
|
13
|
+
```
|
14
|
+
|
15
|
+
## Описание
|
16
|
+
|
17
|
+
Метод `Convert.toString` используется для преобразования различных типов данных в строку. Он
|
18
|
+
обрабатывает массивы, объекты, классы, функции, символы и другие типы данных, возвращая их строковое
|
19
|
+
представление.
|
20
|
+
|
21
|
+
## Параметры
|
22
|
+
|
23
|
+
- `value` (any)
|
24
|
+
|
25
|
+
Переменная, значение которой необходимо привести к строке.
|
26
|
+
|
27
|
+
## Возвращаемое значение
|
28
|
+
|
29
|
+
Возвращает строку, соответствующую переданному значению.
|
30
|
+
|
31
|
+
## Примеры использования
|
32
|
+
|
33
|
+
1. Преобразование строки:
|
34
|
+
|
35
|
+
```js
|
36
|
+
const result = Convert.toString('example');
|
37
|
+
// Результат: 'example'
|
38
|
+
```
|
39
|
+
|
40
|
+
2. Преобразование числа:
|
41
|
+
|
42
|
+
```js
|
43
|
+
const result = Convert.toString(123);
|
44
|
+
// Результат: '123'
|
45
|
+
```
|
46
|
+
|
47
|
+
3. Преобразование булевых значений:
|
48
|
+
|
49
|
+
```js
|
50
|
+
const result1 = Convert.toString(true);
|
51
|
+
// Результат: 'true'
|
52
|
+
|
53
|
+
const result2 = Convert.toString(false);
|
54
|
+
// Результат: 'false'
|
55
|
+
```
|
56
|
+
|
57
|
+
4. Преобразование null и undefined:
|
58
|
+
|
59
|
+
```js
|
60
|
+
const result1 = Convert.toString(null);
|
61
|
+
// Результат: 'null'
|
62
|
+
|
63
|
+
const result2 = Convert.toString(undefined);
|
64
|
+
// Результат: 'undefined'
|
65
|
+
```
|
66
|
+
|
67
|
+
5. Преобразование массива:
|
68
|
+
|
69
|
+
```js
|
70
|
+
const arr = [1, 2, 3];
|
71
|
+
const result = Convert.toString(arr);
|
72
|
+
// Результат: '[\n 1,\n 2,\n 3,\n]'
|
73
|
+
```
|
74
|
+
|
75
|
+
6. Преобразование объекта:
|
76
|
+
|
77
|
+
```js
|
78
|
+
const obj = { key: 'value' };
|
79
|
+
const result = Convert.toString(obj);
|
80
|
+
// Результат: '{\n key: 'value',\n}'
|
81
|
+
```
|
82
|
+
|
83
|
+
7. Преобразование функции:
|
84
|
+
|
85
|
+
```js
|
86
|
+
const func = function () {};
|
87
|
+
const result = Convert.toString(func);
|
88
|
+
// Результат: 'function func() {}'
|
89
|
+
```
|
90
|
+
|
91
|
+
8. Преобразование символа:
|
92
|
+
|
93
|
+
```js
|
94
|
+
const symbol = Symbol('example');
|
95
|
+
const result = Convert.toString(symbol);
|
96
|
+
// Результат: 'Symbol(example)'
|
97
|
+
```
|
98
|
+
|
99
|
+
9. Преобразование BigInt:
|
100
|
+
|
101
|
+
```js
|
102
|
+
const bigInt = BigInt(123);
|
103
|
+
const result = Convert.toString(bigInt);
|
104
|
+
// Результат: '123'
|
105
|
+
```
|
106
|
+
|
107
|
+
10. Преобразование класса:
|
108
|
+
|
109
|
+
```js
|
110
|
+
class MyClass {
|
111
|
+
static test = 'test';
|
112
|
+
}
|
113
|
+
const result = Convert.toString(MyClass);
|
114
|
+
// Результат: 'class MyClass {}'
|
115
|
+
```
|
116
|
+
|
117
|
+
11. Преобразование экземпляра класса:
|
118
|
+
|
119
|
+
```js
|
120
|
+
class MyClass {}
|
121
|
+
const instance = new MyClass();
|
122
|
+
const result = Convert.toString(instance);
|
123
|
+
// Результат: 'object MyClass'
|
124
|
+
```
|
125
|
+
|
@@ -0,0 +1,44 @@
|
|
1
|
+
[Главная](../../README.md) / [Классы](../classes.md) / Convert
|
2
|
+
|
3
|
+
[Исходный код](../../src/classes/Convert.mjs)
|
4
|
+
|
5
|
+
# Convert
|
6
|
+
|
7
|
+
`Convert` — Класс, предоставляющий методы для преобразования различных типов данных в
|
8
|
+
JavaScript.
|
9
|
+
|
10
|
+
## Сигнатура класса
|
11
|
+
|
12
|
+
```ts
|
13
|
+
class Convert {
|
14
|
+
static toArray(value: any): Array<any>;
|
15
|
+
static toAssoc(value: any): Object;
|
16
|
+
static toBool(value: any): boolean;
|
17
|
+
static toBoolean(value: any): boolean;
|
18
|
+
static toFloat(value: any): number;
|
19
|
+
static toInt(value: any, base?: number): number;
|
20
|
+
static toInteger(value: any, base?: number): number;
|
21
|
+
static toList(value: any): Array<any>;
|
22
|
+
static toObject(value: any): Object;
|
23
|
+
static toString(value: any): string;
|
24
|
+
}
|
25
|
+
```
|
26
|
+
|
27
|
+
## Описание
|
28
|
+
|
29
|
+
Класс `Convert` включает в себя статические методы, которые позволяют преобразовывать значения
|
30
|
+
различных типов данных в другие типы.
|
31
|
+
|
32
|
+
### Методы
|
33
|
+
|
34
|
+
- [toArray](./Convert/toArray.md) — Преобразует значение в массив.
|
35
|
+
- [toAssoc](./Convert/toAssoc.md) — Преобразует значение в ассоциативный массив.
|
36
|
+
- [toBool](./Convert/toBool.md) — Преобразует значение в логическое значение.
|
37
|
+
- [toBoolean](./Convert/toBoolean.md) — Преобразует значение в логическое значение.
|
38
|
+
- [toFloat](./Convert/toFloat.md) — Преобразует значение в число с плавающей точкой.
|
39
|
+
- [toInt](./Convert/toInt.md) — Преобразует значение в целое число.
|
40
|
+
- [toInteger](./Convert/toInteger.md) — Преобразует значение в целое число.
|
41
|
+
- [toList](./Convert/toList.md) — Преобразует значение в список.
|
42
|
+
- [toObject](./Convert/toObject.md) — Преобразует значение в объект.
|
43
|
+
- [toString](./Convert/toString.md) — Преобразует значение в строку.
|
44
|
+
|
@@ -0,0 +1,106 @@
|
|
1
|
+
[Главная](../../../README.md) / [Классы](../../classes.md) / [Type](../Type.md) / isArray
|
2
|
+
|
3
|
+
[Исходный код](../../../src/classes/Type.mjs)
|
4
|
+
|
5
|
+
# Type.isArray
|
6
|
+
|
7
|
+
`Type.isArray` — Проверяет, является ли переданное значение массивом или ассоциативным
|
8
|
+
массивом (объектом с ключами и значениями).
|
9
|
+
|
10
|
+
## Сигнатура метода
|
11
|
+
|
12
|
+
```ts
|
13
|
+
static isArray(value: any): boolean;
|
14
|
+
```
|
15
|
+
|
16
|
+
## Описание
|
17
|
+
|
18
|
+
В JavaScript массивы и объекты имеют разные структуры и предназначения:
|
19
|
+
|
20
|
+
- Массивы (`Array`) являются упорядоченными коллекциями элементов, которые могут быть индексированы.
|
21
|
+
- Объекты (`Object`) содержат пары "ключ-значение", которые могут быть неупорядоченными.
|
22
|
+
|
23
|
+
Этот метод проверяет, является ли переданное значение обычным массивом (например, `[1, 2, 3]`), либо
|
24
|
+
ассоциативным массивом (объектом с парами "ключ-значение", например, `{foo: 'bar'}`).
|
25
|
+
|
26
|
+
## Алгоритм работы метода
|
27
|
+
|
28
|
+
1. Сначала проверяется, является ли переданное значение обычным массивом с помощью встроенного
|
29
|
+
метода `Array.isArray(value)`. Если это массив, метод сразу возвращает `true`.
|
30
|
+
|
31
|
+
2. Если переменная не является массивом, то выполняются дополнительные проверки:
|
32
|
+
|
33
|
+
- Проверяется, что значение не равно `null` (так как `null` в JavaScript также является
|
34
|
+
объектом, но не является ни массивом, ни объектом с парами "ключ-значение").
|
35
|
+
- Проверяется, что значение является объектом JavaScript (с помощью
|
36
|
+
`typeof value === 'object'`).
|
37
|
+
- Проверяется, что прототип объекта совпадает с `Object.prototype` (это объект, от которого
|
38
|
+
наследуются все объекты в JavaScript) или является `null` (это означает, что объект был создан
|
39
|
+
с помощью `Object.create(null)` и не имеет прототипа).
|
40
|
+
- Исключаются массивоподобные объекты (например, `arguments`, `NodeList`), путем проверки, что
|
41
|
+
свойство `length` не является собственным свойством объекта.
|
42
|
+
- Дополнительно проверяется, что объект является простым (его конструктор равен `Object`), а
|
43
|
+
также исключаются встроенные объекты (`Math`, `JSON`, `Reflect`, `Intl`), для которых метод
|
44
|
+
возвращает `true`.
|
45
|
+
|
46
|
+
## Параметры
|
47
|
+
|
48
|
+
- `value` (any)
|
49
|
+
|
50
|
+
Проверяемая переменная.
|
51
|
+
|
52
|
+
## Возвращаемое значение
|
53
|
+
|
54
|
+
Возвращает `true`, если переменная является обычным массивом (`Array`), ассоциативным массивом
|
55
|
+
(объектом с парами "ключ-значение"), ассоциативным массивом, созданным с помощью
|
56
|
+
`Object.create(null)`. В остальных случаях метод возвращает `false`.
|
57
|
+
|
58
|
+
## Примеры использования
|
59
|
+
|
60
|
+
1. Простые массивы:
|
61
|
+
|
62
|
+
```js
|
63
|
+
Type.isArray([1, 2, 3]); // true
|
64
|
+
Type.isArray([]); // true
|
65
|
+
```
|
66
|
+
|
67
|
+
2. Ассоциативные массивы (объекты с ключами и значениями):
|
68
|
+
|
69
|
+
```js
|
70
|
+
Type.isArray({ foo: 'bar', baz: 42 }); // true
|
71
|
+
Type.isArray({ 0: 'a', 1: 'b' }); // true
|
72
|
+
```
|
73
|
+
|
74
|
+
3. Объекты, созданные без прототипа:
|
75
|
+
|
76
|
+
```js
|
77
|
+
const noProtoObject = Object.create(null);
|
78
|
+
noProtoObject.foo = 'bar';
|
79
|
+
Type.isArray(noProtoObject); // true
|
80
|
+
```
|
81
|
+
|
82
|
+
4. Примитивы и невалидные значения:
|
83
|
+
|
84
|
+
```js
|
85
|
+
Type.isArray(null); // false
|
86
|
+
Type.isArray(undefined); // false
|
87
|
+
Type.isArray(42); // false
|
88
|
+
Type.isArray('hello'); // false
|
89
|
+
```
|
90
|
+
|
91
|
+
5. Специальные объекты:
|
92
|
+
|
93
|
+
```js
|
94
|
+
Type.isArray(new Map()); // false
|
95
|
+
Type.isArray(new Set()); // false
|
96
|
+
Type.isArray(() => {}); // false
|
97
|
+
```
|
98
|
+
|
99
|
+
6. Классы и их экземпляры:
|
100
|
+
|
101
|
+
```js
|
102
|
+
class MyClass {}
|
103
|
+
const instance = new MyClass();
|
104
|
+
Type.isArray(instance); // false
|
105
|
+
```
|
106
|
+
|
@@ -0,0 +1,57 @@
|
|
1
|
+
[Главная](../../../README.md) / [Классы](../../classes.md) / [Type](../Type.md) / isAssoc
|
2
|
+
|
3
|
+
[Исходный код](../../../src/classes/Type.mjs)
|
4
|
+
|
5
|
+
# Type.isAssoc
|
6
|
+
|
7
|
+
`Type.isAssoc` — Проверяет, является ли значение ассоциативным массивом.
|
8
|
+
|
9
|
+
## Сигнатура метода
|
10
|
+
|
11
|
+
```ts
|
12
|
+
static isAssoc(value: any): boolean;
|
13
|
+
```
|
14
|
+
|
15
|
+
## Описание
|
16
|
+
|
17
|
+
Ассоциативные массивы в JavaScript представляют собой объекты с парами "ключ-значение". Этот метод
|
18
|
+
проверяет, является ли переданное значение ассоциативным массивом.
|
19
|
+
|
20
|
+
Метод использует функцию `is_array` для проверки значения и убеждается, что значение не является
|
21
|
+
обычным массивом.
|
22
|
+
|
23
|
+
## Параметры
|
24
|
+
|
25
|
+
- `value` (any)
|
26
|
+
|
27
|
+
Значение, которое необходимо проверить.
|
28
|
+
|
29
|
+
## Возвращаемое значение
|
30
|
+
|
31
|
+
Возвращает `true`, если значение является ассоциативным массивом, и `false` в противном случае.
|
32
|
+
|
33
|
+
## Примеры использования
|
34
|
+
|
35
|
+
1. Ассоциативные массивы:
|
36
|
+
|
37
|
+
```js
|
38
|
+
Type.isAssoc({ foo: 'bar' }); // true
|
39
|
+
Type.isAssoc({}); // true
|
40
|
+
```
|
41
|
+
|
42
|
+
2. Обычные массивы:
|
43
|
+
|
44
|
+
```js
|
45
|
+
Type.isAssoc([]); // false
|
46
|
+
Type.isAssoc([1, 2, 3]); // false
|
47
|
+
```
|
48
|
+
|
49
|
+
3. Значения других типов:
|
50
|
+
|
51
|
+
```js
|
52
|
+
Type.isAssoc('string'); // false
|
53
|
+
Type.isAssoc(42); // false
|
54
|
+
Type.isAssoc(null); // false
|
55
|
+
Type.isAssoc(undefined); // false
|
56
|
+
```
|
57
|
+
|
@@ -0,0 +1,49 @@
|
|
1
|
+
[Главная](../../../README.md) / [Классы](../../classes.md) / [Type](../Type.md) / isBigInt
|
2
|
+
|
3
|
+
[Исходный код](../../../src/classes/Type.mjs)
|
4
|
+
|
5
|
+
# Type.isBigInt
|
6
|
+
|
7
|
+
`Type.isBigInt` — Проверяет, является ли значение типом `bigint`.
|
8
|
+
|
9
|
+
## Сигнатура метода
|
10
|
+
|
11
|
+
```ts
|
12
|
+
static isBigInt(value: any): boolean;
|
13
|
+
```
|
14
|
+
|
15
|
+
## Описание
|
16
|
+
|
17
|
+
Метод `Type.isBigInt` проверяет, является ли переданное значение типом `bigint`.
|
18
|
+
|
19
|
+
## Параметры
|
20
|
+
|
21
|
+
- `value` (any)
|
22
|
+
|
23
|
+
Значение, которое необходимо проверить.
|
24
|
+
|
25
|
+
## Возвращаемое значение
|
26
|
+
|
27
|
+
Возвращает `true`, если значение является типом `bigint`, и `false` в противном случае.
|
28
|
+
|
29
|
+
## Примеры использования
|
30
|
+
|
31
|
+
1. Проверка значений типа bigint:
|
32
|
+
|
33
|
+
```js
|
34
|
+
Type.isBigInt(BigInt(123456)); // true
|
35
|
+
Type.isBigInt(BigInt(-123456)); // true
|
36
|
+
```
|
37
|
+
|
38
|
+
2. Проверка значений других типов:
|
39
|
+
|
40
|
+
```js
|
41
|
+
Type.isBigInt(42); // false (число)
|
42
|
+
Type.isBigInt('42'); // false (строка)
|
43
|
+
Type.isBigInt(true); // false (логическое значение)
|
44
|
+
Type.isBigInt(null); // false
|
45
|
+
Type.isBigInt(undefined); // false
|
46
|
+
Type.isBigInt({}); // false (объект)
|
47
|
+
Type.isBigInt([]); // false (массив)
|
48
|
+
```
|
49
|
+
|
@@ -0,0 +1,51 @@
|
|
1
|
+
[Главная](../../../README.md) / [Классы](../../classes.md) / [Type](../Type.md) / isBool
|
2
|
+
|
3
|
+
[Исходный код](../../../src/classes/Type.mjs)
|
4
|
+
|
5
|
+
# Type.isBool
|
6
|
+
|
7
|
+
`Type.isBool` — Проверяет, является ли переданное значение логическим типом (`boolean`).
|
8
|
+
|
9
|
+
## Сигнатура метода
|
10
|
+
|
11
|
+
```ts
|
12
|
+
static isBool(value: any): boolean;
|
13
|
+
```
|
14
|
+
|
15
|
+
## Описание
|
16
|
+
|
17
|
+
В JavaScript логическое значение может быть только двумя состояниями: `true` или `false`. Метод
|
18
|
+
проверяет тип переданного значения с использованием оператора `typeof`. Если значение является
|
19
|
+
примитивом типа `boolean`, метод возвращает `true`. Для всех других типов (включая объекты, строки,
|
20
|
+
числа, `null`, `undefined` и другие) метод вернёт `false`.
|
21
|
+
|
22
|
+
## Параметры
|
23
|
+
|
24
|
+
- `value` (any)
|
25
|
+
|
26
|
+
Проверяемая переменная.
|
27
|
+
|
28
|
+
## Возвращаемое значение
|
29
|
+
|
30
|
+
Возвращает `true`, если значение `value` является логическим (`boolean`), иначе `false`.
|
31
|
+
|
32
|
+
## Примеры использования
|
33
|
+
|
34
|
+
1. Проверка логических значений:
|
35
|
+
|
36
|
+
```js
|
37
|
+
Type.isBool(true); // true
|
38
|
+
Type.isBool(false); // true
|
39
|
+
```
|
40
|
+
|
41
|
+
2. Проверка значений других типов:
|
42
|
+
|
43
|
+
```js
|
44
|
+
Type.isBool(0); // false
|
45
|
+
Type.isBool('true'); // false
|
46
|
+
Type.isBool(null); // false
|
47
|
+
Type.isBool([]); // false
|
48
|
+
Type.isBool({}); // false
|
49
|
+
Type.isBool(new Boolean(true)); // false
|
50
|
+
```
|
51
|
+
|
@@ -0,0 +1,51 @@
|
|
1
|
+
[Главная](../../../README.md) / [Классы](../../classes.md) / [Type](../Type.md) / isBoolean
|
2
|
+
|
3
|
+
[Исходный код](../../../src/classes/Type.mjs)
|
4
|
+
|
5
|
+
# Type.isBoolean
|
6
|
+
|
7
|
+
`Type.isBoolean` — Проверяет, является ли переданное значение логическим типом (`boolean`).
|
8
|
+
|
9
|
+
## Сигнатура метода
|
10
|
+
|
11
|
+
```ts
|
12
|
+
static isBoolean(value: any): boolean;
|
13
|
+
```
|
14
|
+
|
15
|
+
## Описание
|
16
|
+
|
17
|
+
В JavaScript логическое значение может быть только двумя состояниями: `true` или `false`. Метод
|
18
|
+
проверяет тип переданного значения с использованием оператора `typeof`. Если значение является
|
19
|
+
примитивом типа `boolean`, метод возвращает `true`. Для всех других типов (включая объекты, строки,
|
20
|
+
числа, `null`, `undefined` и другие) метод вернёт `false`.
|
21
|
+
|
22
|
+
## Параметры
|
23
|
+
|
24
|
+
- `value` (any)
|
25
|
+
|
26
|
+
Проверяемая переменная.
|
27
|
+
|
28
|
+
## Возвращаемое значение
|
29
|
+
|
30
|
+
Возвращает `true`, если значение `value` является логическим (`boolean`), иначе `false`.
|
31
|
+
|
32
|
+
## Примеры использования
|
33
|
+
|
34
|
+
1. Проверка логических значений:
|
35
|
+
|
36
|
+
```js
|
37
|
+
Type.isBoolean(true); // true
|
38
|
+
Type.isBoolean(false); // true
|
39
|
+
```
|
40
|
+
|
41
|
+
2. Проверка значений других типов:
|
42
|
+
|
43
|
+
```js
|
44
|
+
Type.isBoolean(0); // false
|
45
|
+
Type.isBoolean('true'); // false
|
46
|
+
Type.isBoolean(null); // false
|
47
|
+
Type.isBoolean([]); // false
|
48
|
+
Type.isBoolean({}); // false
|
49
|
+
Type.isBoolean(new Boolean(true)); // false
|
50
|
+
```
|
51
|
+
|
@@ -0,0 +1,60 @@
|
|
1
|
+
[Главная](../../../README.md) / [Классы](../../classes.md) / [Type](../Type.md) / isClass
|
2
|
+
|
3
|
+
[Исходный код](../../../src/classes/Type.mjs)
|
4
|
+
|
5
|
+
# Type.isClass
|
6
|
+
|
7
|
+
`Type.isClass` — Проверяет, является ли переданная переменная классом.
|
8
|
+
|
9
|
+
## Сигнатура метода
|
10
|
+
|
11
|
+
```ts
|
12
|
+
static isClass(value: any): boolean;
|
13
|
+
```
|
14
|
+
|
15
|
+
## Описание
|
16
|
+
|
17
|
+
В JavaScript классы являются функциями, но с уникальным поведением.
|
18
|
+
|
19
|
+
Для определения класса метод проверяет:
|
20
|
+
|
21
|
+
1. Что переданная переменная является функцией.
|
22
|
+
2. Что строковое представление функции начинается с `class `.
|
23
|
+
|
24
|
+
Конструкторы функций, созданные с помощью `function`, не будут распознаны как классы.
|
25
|
+
|
26
|
+
## Параметры
|
27
|
+
|
28
|
+
- `value` (any)
|
29
|
+
|
30
|
+
Проверяемая переменная.
|
31
|
+
|
32
|
+
## Возвращаемое значение
|
33
|
+
|
34
|
+
Возвращает `true`, если значение является классом, иначе `false`.
|
35
|
+
|
36
|
+
## Примеры использования
|
37
|
+
|
38
|
+
1. Классы:
|
39
|
+
|
40
|
+
```js
|
41
|
+
class MyClass {}
|
42
|
+
Type.isClass(MyClass); // true
|
43
|
+
```
|
44
|
+
|
45
|
+
2. Функции-конструкторы:
|
46
|
+
|
47
|
+
```js
|
48
|
+
function MyFunction() {}
|
49
|
+
Type.isClass(MyFunction); // false
|
50
|
+
```
|
51
|
+
|
52
|
+
3. Объекты и примитивы:
|
53
|
+
|
54
|
+
```js
|
55
|
+
Type.isClass({}); // false
|
56
|
+
Type.isClass([]); // false
|
57
|
+
Type.isClass(null); // false
|
58
|
+
Type.isClass(42); // false
|
59
|
+
```
|
60
|
+
|
@@ -0,0 +1,53 @@
|
|
1
|
+
[Главная](../../../README.md) / [Классы](../../classes.md) / [Type](../Type.md) / isEmpty
|
2
|
+
|
3
|
+
[Исходный код](../../../src/classes/Type.mjs)
|
4
|
+
|
5
|
+
# Type.isEmpty
|
6
|
+
|
7
|
+
`Type.isEmpty` — Проверяет, является ли переменная пустой.
|
8
|
+
|
9
|
+
## Сигнатура метода
|
10
|
+
|
11
|
+
```ts
|
12
|
+
static isEmpty(value: any): boolean;
|
13
|
+
```
|
14
|
+
|
15
|
+
## Описание
|
16
|
+
|
17
|
+
Метод `Type.isEmpty` используется для проверки, является ли переменная пустой. Пустыми считаются
|
18
|
+
значения `null`, `undefined`, пустая строка, `0`, `false`, пустой массив и пустой объект.
|
19
|
+
|
20
|
+
## Параметры
|
21
|
+
|
22
|
+
- `value` (any)
|
23
|
+
|
24
|
+
Переменная, которую необходимо проверить на пустоту.
|
25
|
+
|
26
|
+
## Возвращаемое значение
|
27
|
+
|
28
|
+
Возвращает `true`, если переменная пустая, и `false` в противном случае.
|
29
|
+
|
30
|
+
## Примеры использования
|
31
|
+
|
32
|
+
1. Проверка пустых значений:
|
33
|
+
|
34
|
+
```js
|
35
|
+
Type.isEmpty(null); // true
|
36
|
+
Type.isEmpty(undefined); // true
|
37
|
+
Type.isEmpty(''); // true
|
38
|
+
Type.isEmpty(0); // true
|
39
|
+
Type.isEmpty(false); // true
|
40
|
+
Type.isEmpty([]); // true
|
41
|
+
Type.isEmpty({}); // true
|
42
|
+
```
|
43
|
+
|
44
|
+
2. Проверка непустых значений:
|
45
|
+
|
46
|
+
```js
|
47
|
+
Type.isEmpty('example'); // false
|
48
|
+
Type.isEmpty(123); // false
|
49
|
+
Type.isEmpty(true); // false
|
50
|
+
Type.isEmpty([1, 2, 3]); // false
|
51
|
+
Type.isEmpty({ key: 'value' }); // false
|
52
|
+
```
|
53
|
+
|
@@ -0,0 +1,77 @@
|
|
1
|
+
[Главная](../../../README.md) / [Классы](../../classes.md) / [Type](../Type.md) / isFloat
|
2
|
+
|
3
|
+
[Исходный код](../../../src/classes/Type.mjs)
|
4
|
+
|
5
|
+
# Type.isFloat
|
6
|
+
|
7
|
+
`Type.isFloat` — Проверяет, является ли значение числом с плавающей точкой.
|
8
|
+
|
9
|
+
## Сигнатура метода
|
10
|
+
|
11
|
+
```ts
|
12
|
+
static isFloat(value: any): boolean;
|
13
|
+
```
|
14
|
+
|
15
|
+
## Описание
|
16
|
+
|
17
|
+
Метод `Type.isFloat` проверяет, является ли переданное значение числом с дробной частью, которое
|
18
|
+
отличается от целого числа.
|
19
|
+
|
20
|
+
Он работает следующим образом:
|
21
|
+
|
22
|
+
1. Проверяет, что значение имеет тип `number`.
|
23
|
+
2. Исключает значения `NaN`, которые также относятся к типу `number`, но не считаются числовыми
|
24
|
+
значениями.
|
25
|
+
3. Проверяет, что у числа есть дробная часть, проверяя остаток от деления на `1`
|
26
|
+
(`value % 1 !== 0`).
|
27
|
+
|
28
|
+
Значения, которые не являются числами или числа без дробной части, не считаются числами с плавающей
|
29
|
+
точкой.
|
30
|
+
|
31
|
+
## Параметры
|
32
|
+
|
33
|
+
- `value` (any)
|
34
|
+
|
35
|
+
Значение для проверки.
|
36
|
+
|
37
|
+
## Возвращаемое значение
|
38
|
+
|
39
|
+
Возвращает `true`, если значение является числом с плавающей точкой, иначе `false`.
|
40
|
+
|
41
|
+
## Примеры использования
|
42
|
+
|
43
|
+
1. Числа с плавающей точкой:
|
44
|
+
|
45
|
+
```js
|
46
|
+
Type.isFloat(3.14); // true
|
47
|
+
Type.isFloat(-0.5); // true
|
48
|
+
Type.isFloat(0.1 + 0.2); // true
|
49
|
+
```
|
50
|
+
|
51
|
+
2. Целые числа:
|
52
|
+
|
53
|
+
```js
|
54
|
+
Type.isFloat(0); // false
|
55
|
+
Type.isFloat(42); // false
|
56
|
+
Type.isFloat(-100); // false
|
57
|
+
```
|
58
|
+
|
59
|
+
3. Нечисловые значения:
|
60
|
+
|
61
|
+
```js
|
62
|
+
Type.isFloat('3.14'); // false
|
63
|
+
Type.isFloat(NaN); // false
|
64
|
+
Type.isFloat(null); // false
|
65
|
+
Type.isFloat(undefined); // false
|
66
|
+
Type.isFloat(true); // false
|
67
|
+
Type.isFloat({}); // false
|
68
|
+
Type.isFloat([]); // false
|
69
|
+
```
|
70
|
+
|
71
|
+
4. Специальные значения:
|
72
|
+
|
73
|
+
```js
|
74
|
+
Type.isFloat(Infinity); // false
|
75
|
+
Type.isFloat(-Infinity); // false
|
76
|
+
```
|
77
|
+
|