@rogolev/value 0.0.2 → 0.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +14 -0
- package/README.md +19 -1
- 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 +2 -0
- package/docs/constants.md +47 -0
- package/docs/helpers/value.md +95 -0
- package/docs/helpers.md +2 -0
- package/index.mjs +3 -0
- package/package.json +2 -2
- package/src/classes/Convert.mjs +818 -819
- package/src/classes/Type.mjs +1284 -1285
- package/src/classes/Value.mjs +2846 -0
- package/src/constants.mjs +14 -0
- package/src/helpers/array.mjs +107 -107
- package/src/helpers/empty.mjs +70 -70
- package/src/helpers/gettype.mjs +149 -133
- package/src/helpers/is_array.mjs +128 -128
- package/src/helpers/is_assoc.mjs +51 -51
- package/src/helpers/is_bigint.mjs +47 -47
- package/src/helpers/is_bool.mjs +43 -43
- package/src/helpers/is_boolean.mjs +43 -43
- package/src/helpers/is_class.mjs +87 -87
- package/src/helpers/is_float.mjs +67 -67
- package/src/helpers/is_function.mjs +74 -74
- package/src/helpers/is_infinity.mjs +52 -52
- package/src/helpers/is_int.mjs +57 -57
- package/src/helpers/is_integer.mjs +74 -74
- package/src/helpers/is_list.mjs +43 -43
- package/src/helpers/is_nan.mjs +51 -51
- package/src/helpers/is_null.mjs +37 -37
- package/src/helpers/is_number.mjs +49 -49
- package/src/helpers/is_numeric.mjs +64 -64
- package/src/helpers/is_object.mjs +72 -72
- package/src/helpers/is_scalar.mjs +45 -45
- package/src/helpers/is_string.mjs +46 -46
- package/src/helpers/is_symbol.mjs +46 -46
- package/src/helpers/is_undefined.mjs +44 -44
- package/src/helpers/print.mjs +245 -245
- package/src/helpers/print_type.mjs +261 -261
- package/src/helpers/settype.mjs +101 -101
- package/src/helpers/to_array.mjs +118 -118
- package/src/helpers/to_assoc.mjs +98 -98
- package/src/helpers/to_bool.mjs +68 -68
- package/src/helpers/to_boolean.mjs +64 -64
- package/src/helpers/to_float.mjs +72 -72
- package/src/helpers/to_int.mjs +93 -93
- package/src/helpers/to_integer.mjs +81 -81
- package/src/helpers/to_list.mjs +56 -56
- package/src/helpers/to_object.mjs +94 -94
- package/src/helpers/to_string.mjs +157 -157
- package/src/helpers/value.mjs +92 -0
- package/tests/classes/Convert.test.mjs +398 -399
- package/tests/classes/Type.test.mjs +1262 -1263
- package/tests/classes/Value.test.mjs +423 -0
- package/tests/constants.test.mjs +75 -0
- package/tests/helpers/array.test.mjs +58 -58
- package/tests/helpers/empty.test.mjs +22 -22
- package/tests/helpers/gettype.test.mjs +74 -74
- package/tests/helpers/is_array.test.mjs +404 -404
- package/tests/helpers/is_assoc.test.mjs +42 -42
- package/tests/helpers/is_bigint.test.mjs +51 -51
- package/tests/helpers/is_bool.test.mjs +43 -43
- package/tests/helpers/is_boolean.test.mjs +43 -43
- package/tests/helpers/is_class.test.mjs +84 -84
- package/tests/helpers/is_float.test.mjs +87 -87
- package/tests/helpers/is_function.test.mjs +83 -83
- package/tests/helpers/is_infinity.test.mjs +46 -46
- package/tests/helpers/is_int.test.mjs +45 -45
- package/tests/helpers/is_integer.test.mjs +64 -64
- package/tests/helpers/is_list.test.mjs +42 -42
- package/tests/helpers/is_nan.test.mjs +43 -43
- package/tests/helpers/is_null.test.mjs +17 -17
- package/tests/helpers/is_number.test.mjs +25 -25
- package/tests/helpers/is_numeric.test.mjs +30 -30
- package/tests/helpers/is_object.test.mjs +52 -52
- package/tests/helpers/is_scalar.test.mjs +21 -21
- package/tests/helpers/is_string.test.mjs +20 -20
- package/tests/helpers/is_symbol.test.mjs +20 -20
- package/tests/helpers/is_undefined.test.mjs +18 -18
- package/tests/helpers/print.test.mjs +62 -62
- package/tests/helpers/print_type.test.mjs +62 -62
- package/tests/helpers/settype.test.mjs +34 -34
- package/tests/helpers/to_array.test.mjs +38 -38
- package/tests/helpers/to_assoc.test.mjs +33 -33
- package/tests/helpers/to_bool.test.mjs +51 -51
- package/tests/helpers/to_boolean.test.mjs +51 -51
- package/tests/helpers/to_float.test.mjs +26 -26
- package/tests/helpers/to_int.test.mjs +48 -48
- package/tests/helpers/to_integer.test.mjs +48 -48
- package/tests/helpers/to_list.test.mjs +32 -32
- package/tests/helpers/to_object.test.mjs +36 -36
- package/tests/helpers/to_string.test.mjs +71 -71
- package/tests/helpers/value.test.mjs +68 -0
package/src/classes/Convert.mjs
CHANGED
|
@@ -1,819 +1,818 @@
|
|
|
1
|
-
import to_array from '../helpers/to_array.mjs';
|
|
2
|
-
import to_assoc from '../helpers/to_assoc.mjs';
|
|
3
|
-
import to_bool from '../helpers/to_bool.mjs';
|
|
4
|
-
import to_float from '../helpers/to_float.mjs';
|
|
5
|
-
import to_int from '../helpers/to_int.mjs';
|
|
6
|
-
import to_list from '../helpers/to_list.mjs';
|
|
7
|
-
import to_object from '../helpers/to_object.mjs';
|
|
8
|
-
import to_string from '../helpers/to_string.mjs';
|
|
9
|
-
|
|
10
|
-
/**
|
|
11
|
-
* Класс `Convert` предоставляет методы для преобразования различных типов данных.
|
|
12
|
-
*
|
|
13
|
-
* ### Описание
|
|
14
|
-
*
|
|
15
|
-
* Класс `Convert` включает в себя статические методы, которые позволяют преобразовывать значения различных типов данных в другие типы.
|
|
16
|
-
*
|
|
17
|
-
* ### Методы
|
|
18
|
-
*
|
|
19
|
-
* - `Convert.toArray(value)` - Преобразует значение в массив.
|
|
20
|
-
* - `Convert.toAssoc(value)` - Преобразует значение в ассоциативный массив.
|
|
21
|
-
* - `Convert.toBool(value)` - Преобразует значение в логическое значение.
|
|
22
|
-
* - `Convert.toBoolean(value)` - Преобразует значение в логическое значение.
|
|
23
|
-
* - `Convert.toFloat(value)` - Преобразует значение в число с плавающей точкой.
|
|
24
|
-
* - `Convert.toInt(value, base)` - Преобразует значение в целое число.
|
|
25
|
-
* - `Convert.toInteger(value, base)` - Преобразует значение в целое число.
|
|
26
|
-
* - `Convert.toList(value)` - Преобразует значение в список.
|
|
27
|
-
* - `Convert.toObject(value)` - Преобразует значение в объект.
|
|
28
|
-
* - `Convert.toString(value)` - Преобразует значение в строку.
|
|
29
|
-
*
|
|
30
|
-
* ### Примеры использования
|
|
31
|
-
*
|
|
32
|
-
* ```js
|
|
33
|
-
* // Преобразование строки в массив
|
|
34
|
-
* Convert.toArray('example'); // ["example"]
|
|
35
|
-
*
|
|
36
|
-
* // Преобразование числа в ассоциативный массив
|
|
37
|
-
* Convert.toAssoc(123); // { 0: 123 }
|
|
38
|
-
*
|
|
39
|
-
* // Преобразование значения в логическое
|
|
40
|
-
* Convert.toBool('example'); // true
|
|
41
|
-
*
|
|
42
|
-
* // Преобразование значения в число с плавающей точкой
|
|
43
|
-
* Convert.toFloat('123.45'); // 123.45
|
|
44
|
-
*
|
|
45
|
-
* // Преобразование значения в целое число
|
|
46
|
-
* Convert.toInt('123'); // 123
|
|
47
|
-
*
|
|
48
|
-
* // Преобразование значения в список
|
|
49
|
-
* Convert.toList({ key: 'value' }); // ['value']
|
|
50
|
-
*
|
|
51
|
-
* // Преобразование значения в объект
|
|
52
|
-
* Convert.toObject('example'); // { value: 'example' }
|
|
53
|
-
*
|
|
54
|
-
* // Преобразование значения в строку
|
|
55
|
-
* Convert.toString(123); // '123'
|
|
56
|
-
* ```
|
|
57
|
-
*/
|
|
58
|
-
class Convert {
|
|
59
|
-
/**
|
|
60
|
-
* Приводит значение переменной к массиву.
|
|
61
|
-
*
|
|
62
|
-
* ### Описание
|
|
63
|
-
*
|
|
64
|
-
* Метод `Convert.toArray` используется для преобразования различных типов данных в массив. Если значение
|
|
65
|
-
* уже является массивом (тип `Array` или ассоциативный массив), возвращается оно же. Объекты
|
|
66
|
-
* (экземпляры классов) преобразуются в массив с одним элементом.
|
|
67
|
-
*
|
|
68
|
-
* #### Примечание
|
|
69
|
-
*
|
|
70
|
-
* Метод `Convert.toArray` для объектов (ассоциативных массивов) возвращает результат
|
|
71
|
-
* работы функции `array`, которая создает объект-контейнер пар ключ-значение
|
|
72
|
-
* (ассоциативный массив) с помощью конструкции `Object.create(null)`,
|
|
73
|
-
* копирует все видимые пары в этот контейнер, а также добавляет итератор
|
|
74
|
-
* `Symbol.iterator` для перебора контейнера в цикле `for-of`.
|
|
75
|
-
*
|
|
76
|
-
* ### Параметры
|
|
77
|
-
*
|
|
78
|
-
* - `value` (any)
|
|
79
|
-
* Переменная, значение которой необходимо привести к массиву.
|
|
80
|
-
*
|
|
81
|
-
* ### Возвращаемое значение
|
|
82
|
-
*
|
|
83
|
-
* Возвращает массив, содержащий переданное значение. Если значение уже является массивом, возвращается оно же.
|
|
84
|
-
*
|
|
85
|
-
* ### Примеры использования
|
|
86
|
-
*
|
|
87
|
-
* 1. Преобразование строки в массив:
|
|
88
|
-
*
|
|
89
|
-
* ```js
|
|
90
|
-
* const result = Convert.toArray('example');
|
|
91
|
-
* // Результат: ["example"]
|
|
92
|
-
* ```
|
|
93
|
-
*
|
|
94
|
-
* 2. Преобразование числа в массив:
|
|
95
|
-
*
|
|
96
|
-
* ```js
|
|
97
|
-
* const result = Convert.toArray(123);
|
|
98
|
-
* // Результат: [123]
|
|
99
|
-
* ```
|
|
100
|
-
*
|
|
101
|
-
* 3. Преобразование массива (без изменений):
|
|
102
|
-
*
|
|
103
|
-
* ```js
|
|
104
|
-
* const result = Convert.toArray([1, 2, 3]);
|
|
105
|
-
* // Результат: [1, 2, 3]
|
|
106
|
-
* ```
|
|
107
|
-
*
|
|
108
|
-
* 4. Преобразование объекта в массив:
|
|
109
|
-
*
|
|
110
|
-
* ```js
|
|
111
|
-
* const result = Convert.toArray({ key: 'value' });
|
|
112
|
-
* // Результат: { key: "value" }
|
|
113
|
-
*
|
|
114
|
-
* const proto = Object.getPrototypeOf(result);
|
|
115
|
-
* // Результат: null
|
|
116
|
-
*
|
|
117
|
-
* for (const [key, value] of result) {
|
|
118
|
-
* console.log(key, value);
|
|
119
|
-
* }
|
|
120
|
-
* // Результат: 'key', 'value'
|
|
121
|
-
* ```
|
|
122
|
-
*
|
|
123
|
-
* 5. Преобразование экземпляра класса в массив:
|
|
124
|
-
*
|
|
125
|
-
* ```js
|
|
126
|
-
* class MyClass {}
|
|
127
|
-
*
|
|
128
|
-
* const instance = new MyClass();
|
|
129
|
-
* const result = Convert.toArray(instance);
|
|
130
|
-
* // Результат: [instance]
|
|
131
|
-
* ```
|
|
132
|
-
*
|
|
133
|
-
* 6. Преобразование null:
|
|
134
|
-
*
|
|
135
|
-
* ```js
|
|
136
|
-
* const result = Convert.toArray(null);
|
|
137
|
-
* // Результат: []
|
|
138
|
-
* ```
|
|
139
|
-
*
|
|
140
|
-
* 7. Преобразование undefined:
|
|
141
|
-
*
|
|
142
|
-
* ```js
|
|
143
|
-
* const result = Convert.toArray(undefined);
|
|
144
|
-
* // Результат: []
|
|
145
|
-
* ```
|
|
146
|
-
*
|
|
147
|
-
* @param {any} value Переменная, значение которой необходимо привести к массиву.
|
|
148
|
-
* @returns {Array|Object} Возвращает приведенное к массиву значение переменной `value`.
|
|
149
|
-
*/
|
|
150
|
-
static toArray(value) {
|
|
151
|
-
return to_array(value);
|
|
152
|
-
}
|
|
153
|
-
|
|
154
|
-
/**
|
|
155
|
-
* Преобразует значение в ассоциативный массив.
|
|
156
|
-
*
|
|
157
|
-
* ### Описание
|
|
158
|
-
*
|
|
159
|
-
* Метод `Convert.toAssoc` используется для преобразования различных типов данных в ассоциативный массив.
|
|
160
|
-
* Если значение уже является объектом, возвращается оно же. Массивы преобразуются в объекты с
|
|
161
|
-
* индексами в качестве ключей.
|
|
162
|
-
*
|
|
163
|
-
* #### Примечание
|
|
164
|
-
*
|
|
165
|
-
* Метод `Convert.toAssoc` для массивов возвращает объект, где ключами являются индексы элементов массива.
|
|
166
|
-
*
|
|
167
|
-
* ### Параметры
|
|
168
|
-
*
|
|
169
|
-
* - `value` (any)
|
|
170
|
-
* Значение, которое необходимо преобразовать в ассоциативный массив.
|
|
171
|
-
*
|
|
172
|
-
* ### Возвращаемое значение
|
|
173
|
-
*
|
|
174
|
-
* Возвращает объект, представляющий ассоциативный массив. Если значение уже является объектом, возвращается оно же.
|
|
175
|
-
*
|
|
176
|
-
* ### Примеры использования
|
|
177
|
-
*
|
|
178
|
-
* 1. Преобразование строки в ассоциативный массив:
|
|
179
|
-
*
|
|
180
|
-
* ```js
|
|
181
|
-
* const result = Convert.toAssoc('example');
|
|
182
|
-
* // Результат: { 0: 'example' }
|
|
183
|
-
* ```
|
|
184
|
-
*
|
|
185
|
-
* 2. Преобразование числа в ассоциативный массив:
|
|
186
|
-
*
|
|
187
|
-
* ```js
|
|
188
|
-
* const result = Convert.toAssoc(123);
|
|
189
|
-
* // Результат: { 0: 123 }
|
|
190
|
-
* ```
|
|
191
|
-
*
|
|
192
|
-
* 3. Преобразование массива в ассоциативный массив:
|
|
193
|
-
*
|
|
194
|
-
* ```js
|
|
195
|
-
* const result = Convert.toAssoc([1, 2, 3]);
|
|
196
|
-
* // Результат: { 0: 1, 1: 2, 2: 3 }
|
|
197
|
-
* ```
|
|
198
|
-
*
|
|
199
|
-
* 4. Преобразование ассоциативного массива (без изменений):
|
|
200
|
-
*
|
|
201
|
-
* ```js
|
|
202
|
-
* const result = Convert.toAssoc({ key: 'value' });
|
|
203
|
-
* // Результат: { key: 'value' }
|
|
204
|
-
* ```
|
|
205
|
-
*
|
|
206
|
-
* 5. Преобразование экземпляра класса в ассоциативный массив:
|
|
207
|
-
*
|
|
208
|
-
* ```js
|
|
209
|
-
* class MyClass {}
|
|
210
|
-
*
|
|
211
|
-
* const instance = new MyClass();
|
|
212
|
-
* const result = Convert.toAssoc(instance);
|
|
213
|
-
* // Результат: { 0: instance }
|
|
214
|
-
* ```
|
|
215
|
-
*
|
|
216
|
-
* 6. Преобразование null:
|
|
217
|
-
*
|
|
218
|
-
* ```js
|
|
219
|
-
* const result = Convert.toAssoc(null);
|
|
220
|
-
* // Результат: {}
|
|
221
|
-
* ```
|
|
222
|
-
*
|
|
223
|
-
* 7. Преобразование undefined:
|
|
224
|
-
*
|
|
225
|
-
* ```js
|
|
226
|
-
* const result = Convert.toAssoc(undefined);
|
|
227
|
-
* // Результат: {}
|
|
228
|
-
* ```
|
|
229
|
-
*
|
|
230
|
-
* @param {any} value Значение, которое необходимо преобразовать.
|
|
231
|
-
* @returns {Object} Возвращает объект, представляющий ассоциативный массив.
|
|
232
|
-
*/
|
|
233
|
-
static toAssoc(value) {
|
|
234
|
-
return to_assoc(value);
|
|
235
|
-
}
|
|
236
|
-
|
|
237
|
-
/**
|
|
238
|
-
* Преобразует значение в логическое значение.
|
|
239
|
-
*
|
|
240
|
-
* ### Описание
|
|
241
|
-
*
|
|
242
|
-
* Метод `Convert.toBool` используется для преобразования различных типов данных в логическое значение.
|
|
243
|
-
* Если значение является примитивом типа `boolean`, возвращается оно же. Для всех других типов данных
|
|
244
|
-
* метод возвращает `true` для истинных значений и `false` для ложных значений.
|
|
245
|
-
*
|
|
246
|
-
* ### Параметры
|
|
247
|
-
*
|
|
248
|
-
* - `value` (any)
|
|
249
|
-
* Значение, которое необходимо преобразовать в логическое значение.
|
|
250
|
-
*
|
|
251
|
-
* ### Возвращаемое значение
|
|
252
|
-
*
|
|
253
|
-
* Возвращает логическое значение, соответствующее переданному значению.
|
|
254
|
-
*
|
|
255
|
-
* ### Примеры использования
|
|
256
|
-
*
|
|
257
|
-
* 1. Преобразование строки в логическое значение:
|
|
258
|
-
*
|
|
259
|
-
* ```js
|
|
260
|
-
* const result = Convert.toBool('example');
|
|
261
|
-
* // Результат: true
|
|
262
|
-
* ```
|
|
263
|
-
*
|
|
264
|
-
* 2. Преобразование числа в логическое значение:
|
|
265
|
-
*
|
|
266
|
-
* ```js
|
|
267
|
-
* const result = Convert.toBool(123);
|
|
268
|
-
* // Результат: true
|
|
269
|
-
* ```
|
|
270
|
-
*
|
|
271
|
-
* 3. Преобразование булевых значений:
|
|
272
|
-
*
|
|
273
|
-
* ```js
|
|
274
|
-
* const result1 = Convert.toBool(true);
|
|
275
|
-
* // Результат: true
|
|
276
|
-
*
|
|
277
|
-
* const result2 = Convert.toBool(false);
|
|
278
|
-
* // Результат: false
|
|
279
|
-
* ```
|
|
280
|
-
*
|
|
281
|
-
* 4. Преобразование других значений:
|
|
282
|
-
*
|
|
283
|
-
* ```js
|
|
284
|
-
* const result1 = Convert.toBool(null);
|
|
285
|
-
* // Результат: false
|
|
286
|
-
*
|
|
287
|
-
* const result2 = Convert.toBool(undefined);
|
|
288
|
-
* // Результат: false
|
|
289
|
-
*
|
|
290
|
-
* const result3 = Convert.toBool([]);
|
|
291
|
-
* // Результат: false
|
|
292
|
-
*
|
|
293
|
-
* const result4 = Convert.toBool({});
|
|
294
|
-
* // Результат: false
|
|
295
|
-
* ```
|
|
296
|
-
*
|
|
297
|
-
* @param {any} value Значение, которое необходимо преобразовать.
|
|
298
|
-
* @returns {boolean} Возвращает логическое значение, соответствующее переданному значению.
|
|
299
|
-
*/
|
|
300
|
-
static toBool(value) {
|
|
301
|
-
return to_bool(value);
|
|
302
|
-
}
|
|
303
|
-
|
|
304
|
-
/**
|
|
305
|
-
* Преобразует значение в логическое значение.
|
|
306
|
-
*
|
|
307
|
-
* ### Описание
|
|
308
|
-
*
|
|
309
|
-
* Метод `Convert.toBoolean` используется для преобразования различных типов данных в логическое значение.
|
|
310
|
-
* Если значение является примитивом типа `boolean`, возвращается оно же. Для всех других типов данных
|
|
311
|
-
* метод возвращает `true` для истинных значений и `false` для ложных значений.
|
|
312
|
-
*
|
|
313
|
-
* ### Параметры
|
|
314
|
-
*
|
|
315
|
-
* - `value` (any)
|
|
316
|
-
* Значение, которое необходимо преобразовать в логическое значение.
|
|
317
|
-
*
|
|
318
|
-
* ### Возвращаемое значение
|
|
319
|
-
*
|
|
320
|
-
* Возвращает логическое значение, соответствующее переданному значению.
|
|
321
|
-
*
|
|
322
|
-
* ### Примеры использования
|
|
323
|
-
*
|
|
324
|
-
* 1. Преобразование строки в логическое значение:
|
|
325
|
-
*
|
|
326
|
-
* ```js
|
|
327
|
-
* const result = Convert.toBoolean('example');
|
|
328
|
-
* // Результат: true
|
|
329
|
-
* ```
|
|
330
|
-
*
|
|
331
|
-
* 2. Преобразование числа в логическое значение:
|
|
332
|
-
*
|
|
333
|
-
* ```js
|
|
334
|
-
* const result = Convert.toBoolean(123);
|
|
335
|
-
* // Результат: true
|
|
336
|
-
* ```
|
|
337
|
-
*
|
|
338
|
-
* 3. Преобразование булевых значений:
|
|
339
|
-
*
|
|
340
|
-
* ```js
|
|
341
|
-
* const result1 = Convert.toBoolean(true);
|
|
342
|
-
* // Результат: true
|
|
343
|
-
*
|
|
344
|
-
* const result2 = Convert.toBoolean(false);
|
|
345
|
-
* // Результат: false
|
|
346
|
-
* ```
|
|
347
|
-
*
|
|
348
|
-
* 4. Преобразование других значений:
|
|
349
|
-
*
|
|
350
|
-
* ```js
|
|
351
|
-
* const result1 = Convert.toBoolean(null);
|
|
352
|
-
* // Результат: false
|
|
353
|
-
*
|
|
354
|
-
* const result2 = Convert.toBoolean(undefined);
|
|
355
|
-
* // Результат: false
|
|
356
|
-
*
|
|
357
|
-
* const result3 = Convert.toBoolean([]);
|
|
358
|
-
* // Результат: false
|
|
359
|
-
*
|
|
360
|
-
* const result4 = Convert.toBoolean({});
|
|
361
|
-
* // Результат: false
|
|
362
|
-
* ```
|
|
363
|
-
*
|
|
364
|
-
* @param {any} value Значение, которое необходимо преобразовать.
|
|
365
|
-
* @returns {boolean} Возвращает логическое значение, соответствующее переданному значению.
|
|
366
|
-
*/
|
|
367
|
-
static toBoolean(value) {
|
|
368
|
-
return to_bool(value);
|
|
369
|
-
}
|
|
370
|
-
|
|
371
|
-
/**
|
|
372
|
-
* Приводит значение переменной к числу с плавающей точкой.
|
|
373
|
-
*
|
|
374
|
-
* ### Описание
|
|
375
|
-
*
|
|
376
|
-
* Метод `Convert.toFloat` используется для преобразования различных типов данных в число с плавающей точкой. Если значение не является числом или строкой, метод возвращает `1` для истинных значений и `0` для ложных значений.
|
|
377
|
-
*
|
|
378
|
-
* ### Параметры
|
|
379
|
-
*
|
|
380
|
-
* - `value` (any)
|
|
381
|
-
* Переменная, значение которой необходимо привести к числу с плавающей точкой.
|
|
382
|
-
*
|
|
383
|
-
* ### Возвращаемое значение
|
|
384
|
-
*
|
|
385
|
-
* Возвращает число с плавающей точкой, соответствующее переданному значению.
|
|
386
|
-
*
|
|
387
|
-
* ### Примеры использования
|
|
388
|
-
*
|
|
389
|
-
* 1. Преобразование строки в число с плавающей точкой:
|
|
390
|
-
*
|
|
391
|
-
* ```js
|
|
392
|
-
* const result = Convert.toFloat('123.45');
|
|
393
|
-
* // Результат: 123.45
|
|
394
|
-
* ```
|
|
395
|
-
*
|
|
396
|
-
* 2. Преобразование целого числа в число с плавающей точкой:
|
|
397
|
-
*
|
|
398
|
-
* ```js
|
|
399
|
-
* const result = Convert.toFloat(123);
|
|
400
|
-
* // Результат: 123.0
|
|
401
|
-
* ```
|
|
402
|
-
*
|
|
403
|
-
* 3. Преобразование булевых значений:
|
|
404
|
-
*
|
|
405
|
-
* ```js
|
|
406
|
-
* const result1 = Convert.toFloat(true);
|
|
407
|
-
* // Результат: 1.0
|
|
408
|
-
*
|
|
409
|
-
* const result2 = Convert.toFloat(false);
|
|
410
|
-
* // Результат: 0.0
|
|
411
|
-
* ```
|
|
412
|
-
*
|
|
413
|
-
* 4. Преобразование других значений:
|
|
414
|
-
*
|
|
415
|
-
* ```js
|
|
416
|
-
* const result1 = Convert.toFloat(null);
|
|
417
|
-
* // Результат: 0.0
|
|
418
|
-
*
|
|
419
|
-
* const result2 = Convert.toFloat(undefined);
|
|
420
|
-
* // Результат: 0.0
|
|
421
|
-
*
|
|
422
|
-
* const result3 = Convert.toFloat('example');
|
|
423
|
-
* // Результат: 0.0
|
|
424
|
-
* ```
|
|
425
|
-
*
|
|
426
|
-
* @param {any} value Переменная, значение которой необходимо привести к числу с плавающей точкой.
|
|
427
|
-
* @returns {number} Возвращает приведенное к числу с плавающей точкой значение переменной `value`.
|
|
428
|
-
*/
|
|
429
|
-
static toFloat(value) {
|
|
430
|
-
return to_float(value);
|
|
431
|
-
}
|
|
432
|
-
|
|
433
|
-
/**
|
|
434
|
-
* Приводит значение переменной к целому числу.
|
|
435
|
-
*
|
|
436
|
-
* ### Описание
|
|
437
|
-
*
|
|
438
|
-
* Метод `Convert.toInt` используется для преобразования различных типов данных в целое число. Если значение не является числом или строкой, метод возвращает `1` для истинных значений и `0` для ложных значений.
|
|
439
|
-
*
|
|
440
|
-
* ### Параметры
|
|
441
|
-
*
|
|
442
|
-
* - `value` (any)
|
|
443
|
-
* Переменная, значение которой необходимо привести к целому числу.
|
|
444
|
-
*
|
|
445
|
-
* - `base` (number)
|
|
446
|
-
* Основание системы счисления для преобразования строки в число. По умолчанию `10`.
|
|
447
|
-
*
|
|
448
|
-
* ### Возвращаемое значение
|
|
449
|
-
*
|
|
450
|
-
* Возвращает целое число, соответствующее переданному значению.
|
|
451
|
-
*
|
|
452
|
-
* ### Примеры использования
|
|
453
|
-
*
|
|
454
|
-
* 1. Преобразование строки в целое число:
|
|
455
|
-
*
|
|
456
|
-
* ```js
|
|
457
|
-
* const result = Convert.toInt('123');
|
|
458
|
-
* // Результат: 123
|
|
459
|
-
* ```
|
|
460
|
-
*
|
|
461
|
-
* 2. Преобразование числа с плавающей точкой в целое число:
|
|
462
|
-
*
|
|
463
|
-
* ```js
|
|
464
|
-
* const result = Convert.toInt(123.45);
|
|
465
|
-
* // Результат: 123
|
|
466
|
-
* ```
|
|
467
|
-
*
|
|
468
|
-
* 3. Преобразование булевых значений:
|
|
469
|
-
*
|
|
470
|
-
* ```js
|
|
471
|
-
* const result1 = Convert.toInt(true);
|
|
472
|
-
* // Результат: 1
|
|
473
|
-
*
|
|
474
|
-
* const result2 = Convert.toInt(false);
|
|
475
|
-
* // Результат: 0
|
|
476
|
-
* ```
|
|
477
|
-
*
|
|
478
|
-
* 4. Преобразование других значений:
|
|
479
|
-
*
|
|
480
|
-
* ```js
|
|
481
|
-
* const result1 = Convert.toInt(null);
|
|
482
|
-
* // Результат: 0
|
|
483
|
-
*
|
|
484
|
-
* const result2 = Convert.toInt(undefined);
|
|
485
|
-
* // Результат: 0
|
|
486
|
-
*
|
|
487
|
-
* const result3 = Convert.toInt('example');
|
|
488
|
-
* // Результат: 0
|
|
489
|
-
* ```
|
|
490
|
-
*
|
|
491
|
-
* 5. Преобразование строки с основанием системы счисления:
|
|
492
|
-
*
|
|
493
|
-
* ```js
|
|
494
|
-
* const result1 = Convert.toInt('10', 2);
|
|
495
|
-
* // Результат: 2
|
|
496
|
-
*
|
|
497
|
-
* const result2 = Convert.toInt('A', 16);
|
|
498
|
-
* // Результат: 10
|
|
499
|
-
*
|
|
500
|
-
* const result3 = Convert.toInt('7', 8);
|
|
501
|
-
* // Результат: 7
|
|
502
|
-
* ```
|
|
503
|
-
*
|
|
504
|
-
* @param {any} value Переменная, значение которой необходимо привести к целому числу.
|
|
505
|
-
* @param {number} [base=10] Основание системы счисления для преобразования строки в число.
|
|
506
|
-
* @returns {number} Возвращает приведенное к целому числу значение переменной `value`.
|
|
507
|
-
*/
|
|
508
|
-
static toInt(value, base = 10) {
|
|
509
|
-
return to_int(value, base);
|
|
510
|
-
}
|
|
511
|
-
|
|
512
|
-
/**
|
|
513
|
-
* Приводит значение переменной к целому числу.
|
|
514
|
-
*
|
|
515
|
-
* ### Описание
|
|
516
|
-
*
|
|
517
|
-
* Метод `Convert.toInteger` используется для преобразования различных типов данных в целое число. Если значение не является числом или строкой, метод возвращает `1` для истинных значений и `0` для ложных значений.
|
|
518
|
-
*
|
|
519
|
-
* ### Параметры
|
|
520
|
-
*
|
|
521
|
-
* - `value` (any)
|
|
522
|
-
* Переменная, значение которой необходимо привести к целому числу.
|
|
523
|
-
*
|
|
524
|
-
* - `base` (number)
|
|
525
|
-
* Основание системы счисления для преобразования строки в число. По умолчанию `10`.
|
|
526
|
-
*
|
|
527
|
-
* ### Возвращаемое значение
|
|
528
|
-
*
|
|
529
|
-
* Возвращает целое число, соответствующее переданному значению.
|
|
530
|
-
*
|
|
531
|
-
* ### Примеры использования
|
|
532
|
-
*
|
|
533
|
-
* 1. Преобразование строки в целое число:
|
|
534
|
-
*
|
|
535
|
-
* ```js
|
|
536
|
-
* const result = Convert.toInteger('123');
|
|
537
|
-
* // Результат: 123
|
|
538
|
-
* ```
|
|
539
|
-
*
|
|
540
|
-
* 2. Преобразование числа с плавающей точкой в целое число:
|
|
541
|
-
*
|
|
542
|
-
* ```js
|
|
543
|
-
* const result = Convert.toInteger(123.45);
|
|
544
|
-
* // Результат: 123
|
|
545
|
-
* ```
|
|
546
|
-
*
|
|
547
|
-
* 3. Преобразование булевых значений:
|
|
548
|
-
*
|
|
549
|
-
* ```js
|
|
550
|
-
* const result1 = Convert.toInteger(true);
|
|
551
|
-
* // Результат: 1
|
|
552
|
-
*
|
|
553
|
-
* const result2 = Convert.toInteger(false);
|
|
554
|
-
* // Результат: 0
|
|
555
|
-
* ```
|
|
556
|
-
*
|
|
557
|
-
* 4. Преобразование других значений:
|
|
558
|
-
*
|
|
559
|
-
* ```js
|
|
560
|
-
* const result1 = Convert.toInteger(null);
|
|
561
|
-
* // Результат: 0
|
|
562
|
-
*
|
|
563
|
-
* const result2 = Convert.toInteger(undefined);
|
|
564
|
-
* // Результат: 0
|
|
565
|
-
*
|
|
566
|
-
* const result3 = Convert.toInteger('example');
|
|
567
|
-
* // Результат: 0
|
|
568
|
-
* ```
|
|
569
|
-
*
|
|
570
|
-
* 5. Преобразование строки с основанием системы счисления:
|
|
571
|
-
*
|
|
572
|
-
* ```js
|
|
573
|
-
* const result1 = Convert.toInteger('10', 2);
|
|
574
|
-
* // Результат: 2
|
|
575
|
-
*
|
|
576
|
-
* const result2 = Convert.toInteger('A', 16);
|
|
577
|
-
* // Результат: 10
|
|
578
|
-
*
|
|
579
|
-
* const result3 = Convert.toInteger('7', 8);
|
|
580
|
-
* // Результат: 7
|
|
581
|
-
* ```
|
|
582
|
-
*
|
|
583
|
-
* @param {any} value Переменная, значение которой необходимо привести к целому числу.
|
|
584
|
-
* @param {number} [base=10] Основание системы счисления для преобразования строки в число.
|
|
585
|
-
* @returns {number} Возвращает приведенное к целому числу значение переменной `value`.
|
|
586
|
-
*/
|
|
587
|
-
static toInteger(value, base = 10) {
|
|
588
|
-
return to_int(value, base);
|
|
589
|
-
}
|
|
590
|
-
|
|
591
|
-
/**
|
|
592
|
-
* Преобразует значение в список.
|
|
593
|
-
*
|
|
594
|
-
* ### Параметры
|
|
595
|
-
*
|
|
596
|
-
* - `value` (any)
|
|
597
|
-
* Значение, которое необходимо преобразовать.
|
|
598
|
-
*
|
|
599
|
-
* ### Описание
|
|
600
|
-
*
|
|
601
|
-
* Метод `Convert.toList` преобразует переданное значение в список.
|
|
602
|
-
*
|
|
603
|
-
* Она выполняет следующие проверки:
|
|
604
|
-
*
|
|
605
|
-
* 1. **Null и Undefined**: Возвращает пустой массив для значений `null` и `undefined`.
|
|
606
|
-
* 2. **Array**: Возвращает исходный массив, если он передан.
|
|
607
|
-
* 3. **Object**: Возвращает массив значений объекта, если передан ассоциативный массив.
|
|
608
|
-
* 4. **Примитивы и другие типы**: Возвращает массив, содержащий переданное значение.
|
|
609
|
-
*
|
|
610
|
-
* ### Возвращаемое значение
|
|
611
|
-
*
|
|
612
|
-
* Возвращает массив, представляющий список значений.
|
|
613
|
-
*
|
|
614
|
-
* ### Примеры использования
|
|
615
|
-
*
|
|
616
|
-
* ```js
|
|
617
|
-
* Convert.toList(null); // []
|
|
618
|
-
* Convert.toList(undefined); // []
|
|
619
|
-
* Convert.toList([1, 2, 3]); // [1, 2, 3]
|
|
620
|
-
* Convert.toList({ key: 'value' }); // ['value']
|
|
621
|
-
* Convert.toList('example'); // ['example']
|
|
622
|
-
* Convert.toList(123); // [123]
|
|
623
|
-
* ```
|
|
624
|
-
*
|
|
625
|
-
* @param {any} value Значение, которое необходимо преобразовать.
|
|
626
|
-
* @returns {Array} Возвращает массив, представляющий список значений.
|
|
627
|
-
*/
|
|
628
|
-
static toList(value) {
|
|
629
|
-
return to_list(value);
|
|
630
|
-
}
|
|
631
|
-
|
|
632
|
-
/**
|
|
633
|
-
* Приводит значение переменной к объекту.
|
|
634
|
-
*
|
|
635
|
-
* ### Описание
|
|
636
|
-
*
|
|
637
|
-
* Метод `Convert.toObject` используется для преобразования различных типов данных в объект. Если значение уже является объектом, оно возвращается без изменений. Если значение является классом, возвращается новый экземпляр этого класса. Если значение является массивом, элементы массива копируются в новый объект. Для других значений создается объект с полем `value`, содержащим это значение.
|
|
638
|
-
*
|
|
639
|
-
* ### Параметры
|
|
640
|
-
*
|
|
641
|
-
* - `value` (any)
|
|
642
|
-
* Переменная, значение которой необходимо привести к объекту.
|
|
643
|
-
*
|
|
644
|
-
* ### Возвращаемое значение
|
|
645
|
-
*
|
|
646
|
-
* Возвращает объект, соответствующий переданному значению.
|
|
647
|
-
*
|
|
648
|
-
* ### Примеры использования
|
|
649
|
-
*
|
|
650
|
-
* 1. Преобразование объекта:
|
|
651
|
-
*
|
|
652
|
-
* ```js
|
|
653
|
-
* class MyClass {}
|
|
654
|
-
* const obj = new MyClass();
|
|
655
|
-
* const result = Convert.toObject(obj);
|
|
656
|
-
* // Результат: obj
|
|
657
|
-
* ```
|
|
658
|
-
*
|
|
659
|
-
* 2. Преобразование класса:
|
|
660
|
-
*
|
|
661
|
-
* ```js
|
|
662
|
-
* class MyClass {}
|
|
663
|
-
* const result = Convert.toObject(MyClass);
|
|
664
|
-
* // Результат: экземпляр MyClass
|
|
665
|
-
* ```
|
|
666
|
-
*
|
|
667
|
-
* 3. Преобразование null и undefined:
|
|
668
|
-
*
|
|
669
|
-
* ```js
|
|
670
|
-
* const result1 = Convert.toObject(null);
|
|
671
|
-
* // Результат: экземпляр анонимного класса
|
|
672
|
-
*
|
|
673
|
-
* const result2 = Convert.toObject(undefined);
|
|
674
|
-
* // Результат: экземпляр анонимного класса
|
|
675
|
-
* ```
|
|
676
|
-
*
|
|
677
|
-
* 4. Преобразование массива:
|
|
678
|
-
*
|
|
679
|
-
* ```js
|
|
680
|
-
* const arr = [1, 2, 3];
|
|
681
|
-
* const result = Convert.toObject(arr);
|
|
682
|
-
* // Результат: объект с элементами массива
|
|
683
|
-
* ```
|
|
684
|
-
*
|
|
685
|
-
* 5. Преобразование других значений:
|
|
686
|
-
*
|
|
687
|
-
* ```js
|
|
688
|
-
* const result = Convert.toObject('example');
|
|
689
|
-
* // Результат: объект с полем value, содержащим 'example'
|
|
690
|
-
* ```
|
|
691
|
-
*
|
|
692
|
-
* @param {any} value Переменная, значение которой необходимо привести к объекту.
|
|
693
|
-
* @returns {object} Возвращает приведенное к объекту значение переменной `value`.
|
|
694
|
-
*/
|
|
695
|
-
static toObject(value) {
|
|
696
|
-
return to_object(value);
|
|
697
|
-
}
|
|
698
|
-
|
|
699
|
-
/**
|
|
700
|
-
* Приводит значение переменной к строке.
|
|
701
|
-
*
|
|
702
|
-
* ### Описание
|
|
703
|
-
*
|
|
704
|
-
* Метод `Convert.toString` используется для преобразования различных типов данных в строку. Он обрабатывает массивы, объекты, классы, функции, символы и другие типы данных, возвращая их строковое представление.
|
|
705
|
-
*
|
|
706
|
-
* ### Параметры
|
|
707
|
-
*
|
|
708
|
-
* - `value` (any)
|
|
709
|
-
* Переменная, значение которой необходимо привести к строке.
|
|
710
|
-
*
|
|
711
|
-
* ### Возвращаемое значение
|
|
712
|
-
*
|
|
713
|
-
* Возвращает строку, соответствующую переданному значению.
|
|
714
|
-
*
|
|
715
|
-
* ### Примеры использования
|
|
716
|
-
*
|
|
717
|
-
* 1. Преобразование строки:
|
|
718
|
-
*
|
|
719
|
-
* ```js
|
|
720
|
-
* const result = Convert.toString('example');
|
|
721
|
-
* // Результат: 'example'
|
|
722
|
-
* ```
|
|
723
|
-
*
|
|
724
|
-
* 2. Преобразование числа:
|
|
725
|
-
*
|
|
726
|
-
* ```js
|
|
727
|
-
* const result = Convert.toString(123);
|
|
728
|
-
* // Результат: '123'
|
|
729
|
-
* ```
|
|
730
|
-
*
|
|
731
|
-
* 3. Преобразование булевых значений:
|
|
732
|
-
*
|
|
733
|
-
* ```js
|
|
734
|
-
* const result1 = Convert.toString(true);
|
|
735
|
-
* // Результат: 'true'
|
|
736
|
-
*
|
|
737
|
-
* const result2 = Convert.toString(false);
|
|
738
|
-
* // Результат: 'false'
|
|
739
|
-
* ```
|
|
740
|
-
*
|
|
741
|
-
* 4. Преобразование null и undefined:
|
|
742
|
-
*
|
|
743
|
-
* ```js
|
|
744
|
-
* const result1 = Convert.toString(null);
|
|
745
|
-
* // Результат: 'null'
|
|
746
|
-
*
|
|
747
|
-
* const result2 = Convert.toString(undefined);
|
|
748
|
-
* // Результат: 'undefined'
|
|
749
|
-
* ```
|
|
750
|
-
*
|
|
751
|
-
* 5. Преобразование массива:
|
|
752
|
-
*
|
|
753
|
-
* ```js
|
|
754
|
-
* const arr = [1, 2, 3];
|
|
755
|
-
* const result = Convert.toString(arr);
|
|
756
|
-
* // Результат: '[\n 1,\n 2,\n 3,\n]'
|
|
757
|
-
* ```
|
|
758
|
-
*
|
|
759
|
-
* 6. Преобразование объекта:
|
|
760
|
-
*
|
|
761
|
-
* ```js
|
|
762
|
-
* const obj = { key: 'value' };
|
|
763
|
-
* const result = Convert.toString(obj);
|
|
764
|
-
* // Результат: '{\n key: 'value',\n}'
|
|
765
|
-
* ```
|
|
766
|
-
*
|
|
767
|
-
* 7. Преобразование функции:
|
|
768
|
-
*
|
|
769
|
-
* ```js
|
|
770
|
-
* const func = function() {};
|
|
771
|
-
* const result = Convert.toString(func);
|
|
772
|
-
* // Результат: 'function func() {}'
|
|
773
|
-
* ```
|
|
774
|
-
*
|
|
775
|
-
* 8. Преобразование символа:
|
|
776
|
-
*
|
|
777
|
-
* ```js
|
|
778
|
-
* const symbol = Symbol('example');
|
|
779
|
-
* const result = Convert.toString(symbol);
|
|
780
|
-
* // Результат: 'Symbol(example)'
|
|
781
|
-
* ```
|
|
782
|
-
*
|
|
783
|
-
* 9. Преобразование BigInt:
|
|
784
|
-
*
|
|
785
|
-
* ```js
|
|
786
|
-
* const bigInt = BigInt(123);
|
|
787
|
-
* const result = Convert.toString(bigInt);
|
|
788
|
-
* // Результат: '123'
|
|
789
|
-
* ```
|
|
790
|
-
*
|
|
791
|
-
* 10. Преобразование класса:
|
|
792
|
-
*
|
|
793
|
-
* ```js
|
|
794
|
-
* class MyClass {
|
|
795
|
-
* static test = 'test';
|
|
796
|
-
* }
|
|
797
|
-
* const result = Convert.toString(MyClass);
|
|
798
|
-
* // Результат: 'class MyClass {}'
|
|
799
|
-
* ```
|
|
800
|
-
*
|
|
801
|
-
* 11. Преобразование экземпляра класса:
|
|
802
|
-
*
|
|
803
|
-
* ```js
|
|
804
|
-
* class MyClass {}
|
|
805
|
-
* const instance = new MyClass();
|
|
806
|
-
* const result = Convert.toString(instance);
|
|
807
|
-
* // Результат: 'object MyClass'
|
|
808
|
-
* ```
|
|
809
|
-
*
|
|
810
|
-
* @param {any} value Переменная, значение которой необходимо привести к строке.
|
|
811
|
-
* @returns {string} Возвращает приведенное к строке значение переменной `value`.
|
|
812
|
-
*/
|
|
813
|
-
static toString(value) {
|
|
814
|
-
return to_string(value);
|
|
815
|
-
}
|
|
816
|
-
}
|
|
817
|
-
|
|
818
|
-
export default Convert;
|
|
819
|
-
|
|
1
|
+
import to_array from '../helpers/to_array.mjs';
|
|
2
|
+
import to_assoc from '../helpers/to_assoc.mjs';
|
|
3
|
+
import to_bool from '../helpers/to_bool.mjs';
|
|
4
|
+
import to_float from '../helpers/to_float.mjs';
|
|
5
|
+
import to_int from '../helpers/to_int.mjs';
|
|
6
|
+
import to_list from '../helpers/to_list.mjs';
|
|
7
|
+
import to_object from '../helpers/to_object.mjs';
|
|
8
|
+
import to_string from '../helpers/to_string.mjs';
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* Класс `Convert` предоставляет методы для преобразования различных типов данных.
|
|
12
|
+
*
|
|
13
|
+
* ### Описание
|
|
14
|
+
*
|
|
15
|
+
* Класс `Convert` включает в себя статические методы, которые позволяют преобразовывать значения различных типов данных в другие типы.
|
|
16
|
+
*
|
|
17
|
+
* ### Методы
|
|
18
|
+
*
|
|
19
|
+
* - `Convert.toArray(value)` - Преобразует значение в массив.
|
|
20
|
+
* - `Convert.toAssoc(value)` - Преобразует значение в ассоциативный массив.
|
|
21
|
+
* - `Convert.toBool(value)` - Преобразует значение в логическое значение.
|
|
22
|
+
* - `Convert.toBoolean(value)` - Преобразует значение в логическое значение.
|
|
23
|
+
* - `Convert.toFloat(value)` - Преобразует значение в число с плавающей точкой.
|
|
24
|
+
* - `Convert.toInt(value, base)` - Преобразует значение в целое число.
|
|
25
|
+
* - `Convert.toInteger(value, base)` - Преобразует значение в целое число.
|
|
26
|
+
* - `Convert.toList(value)` - Преобразует значение в список.
|
|
27
|
+
* - `Convert.toObject(value)` - Преобразует значение в объект.
|
|
28
|
+
* - `Convert.toString(value)` - Преобразует значение в строку.
|
|
29
|
+
*
|
|
30
|
+
* ### Примеры использования
|
|
31
|
+
*
|
|
32
|
+
* ```js
|
|
33
|
+
* // Преобразование строки в массив
|
|
34
|
+
* Convert.toArray('example'); // ["example"]
|
|
35
|
+
*
|
|
36
|
+
* // Преобразование числа в ассоциативный массив
|
|
37
|
+
* Convert.toAssoc(123); // { 0: 123 }
|
|
38
|
+
*
|
|
39
|
+
* // Преобразование значения в логическое
|
|
40
|
+
* Convert.toBool('example'); // true
|
|
41
|
+
*
|
|
42
|
+
* // Преобразование значения в число с плавающей точкой
|
|
43
|
+
* Convert.toFloat('123.45'); // 123.45
|
|
44
|
+
*
|
|
45
|
+
* // Преобразование значения в целое число
|
|
46
|
+
* Convert.toInt('123'); // 123
|
|
47
|
+
*
|
|
48
|
+
* // Преобразование значения в список
|
|
49
|
+
* Convert.toList({ key: 'value' }); // ['value']
|
|
50
|
+
*
|
|
51
|
+
* // Преобразование значения в объект
|
|
52
|
+
* Convert.toObject('example'); // { value: 'example' }
|
|
53
|
+
*
|
|
54
|
+
* // Преобразование значения в строку
|
|
55
|
+
* Convert.toString(123); // '123'
|
|
56
|
+
* ```
|
|
57
|
+
*/
|
|
58
|
+
class Convert {
|
|
59
|
+
/**
|
|
60
|
+
* Приводит значение переменной к массиву.
|
|
61
|
+
*
|
|
62
|
+
* ### Описание
|
|
63
|
+
*
|
|
64
|
+
* Метод `Convert.toArray` используется для преобразования различных типов данных в массив. Если значение
|
|
65
|
+
* уже является массивом (тип `Array` или ассоциативный массив), возвращается оно же. Объекты
|
|
66
|
+
* (экземпляры классов) преобразуются в массив с одним элементом.
|
|
67
|
+
*
|
|
68
|
+
* #### Примечание
|
|
69
|
+
*
|
|
70
|
+
* Метод `Convert.toArray` для объектов (ассоциативных массивов) возвращает результат
|
|
71
|
+
* работы функции `array`, которая создает объект-контейнер пар ключ-значение
|
|
72
|
+
* (ассоциативный массив) с помощью конструкции `Object.create(null)`,
|
|
73
|
+
* копирует все видимые пары в этот контейнер, а также добавляет итератор
|
|
74
|
+
* `Symbol.iterator` для перебора контейнера в цикле `for-of`.
|
|
75
|
+
*
|
|
76
|
+
* ### Параметры
|
|
77
|
+
*
|
|
78
|
+
* - `value` (any)
|
|
79
|
+
* Переменная, значение которой необходимо привести к массиву.
|
|
80
|
+
*
|
|
81
|
+
* ### Возвращаемое значение
|
|
82
|
+
*
|
|
83
|
+
* Возвращает массив, содержащий переданное значение. Если значение уже является массивом, возвращается оно же.
|
|
84
|
+
*
|
|
85
|
+
* ### Примеры использования
|
|
86
|
+
*
|
|
87
|
+
* 1. Преобразование строки в массив:
|
|
88
|
+
*
|
|
89
|
+
* ```js
|
|
90
|
+
* const result = Convert.toArray('example');
|
|
91
|
+
* // Результат: ["example"]
|
|
92
|
+
* ```
|
|
93
|
+
*
|
|
94
|
+
* 2. Преобразование числа в массив:
|
|
95
|
+
*
|
|
96
|
+
* ```js
|
|
97
|
+
* const result = Convert.toArray(123);
|
|
98
|
+
* // Результат: [123]
|
|
99
|
+
* ```
|
|
100
|
+
*
|
|
101
|
+
* 3. Преобразование массива (без изменений):
|
|
102
|
+
*
|
|
103
|
+
* ```js
|
|
104
|
+
* const result = Convert.toArray([1, 2, 3]);
|
|
105
|
+
* // Результат: [1, 2, 3]
|
|
106
|
+
* ```
|
|
107
|
+
*
|
|
108
|
+
* 4. Преобразование объекта в массив:
|
|
109
|
+
*
|
|
110
|
+
* ```js
|
|
111
|
+
* const result = Convert.toArray({ key: 'value' });
|
|
112
|
+
* // Результат: { key: "value" }
|
|
113
|
+
*
|
|
114
|
+
* const proto = Object.getPrototypeOf(result);
|
|
115
|
+
* // Результат: null
|
|
116
|
+
*
|
|
117
|
+
* for (const [key, value] of result) {
|
|
118
|
+
* console.log(key, value);
|
|
119
|
+
* }
|
|
120
|
+
* // Результат: 'key', 'value'
|
|
121
|
+
* ```
|
|
122
|
+
*
|
|
123
|
+
* 5. Преобразование экземпляра класса в массив:
|
|
124
|
+
*
|
|
125
|
+
* ```js
|
|
126
|
+
* class MyClass {}
|
|
127
|
+
*
|
|
128
|
+
* const instance = new MyClass();
|
|
129
|
+
* const result = Convert.toArray(instance);
|
|
130
|
+
* // Результат: [instance]
|
|
131
|
+
* ```
|
|
132
|
+
*
|
|
133
|
+
* 6. Преобразование null:
|
|
134
|
+
*
|
|
135
|
+
* ```js
|
|
136
|
+
* const result = Convert.toArray(null);
|
|
137
|
+
* // Результат: []
|
|
138
|
+
* ```
|
|
139
|
+
*
|
|
140
|
+
* 7. Преобразование undefined:
|
|
141
|
+
*
|
|
142
|
+
* ```js
|
|
143
|
+
* const result = Convert.toArray(undefined);
|
|
144
|
+
* // Результат: []
|
|
145
|
+
* ```
|
|
146
|
+
*
|
|
147
|
+
* @param {any} value Переменная, значение которой необходимо привести к массиву.
|
|
148
|
+
* @returns {Array|Object} Возвращает приведенное к массиву значение переменной `value`.
|
|
149
|
+
*/
|
|
150
|
+
static toArray(value) {
|
|
151
|
+
return to_array(value);
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
/**
|
|
155
|
+
* Преобразует значение в ассоциативный массив.
|
|
156
|
+
*
|
|
157
|
+
* ### Описание
|
|
158
|
+
*
|
|
159
|
+
* Метод `Convert.toAssoc` используется для преобразования различных типов данных в ассоциативный массив.
|
|
160
|
+
* Если значение уже является объектом, возвращается оно же. Массивы преобразуются в объекты с
|
|
161
|
+
* индексами в качестве ключей.
|
|
162
|
+
*
|
|
163
|
+
* #### Примечание
|
|
164
|
+
*
|
|
165
|
+
* Метод `Convert.toAssoc` для массивов возвращает объект, где ключами являются индексы элементов массива.
|
|
166
|
+
*
|
|
167
|
+
* ### Параметры
|
|
168
|
+
*
|
|
169
|
+
* - `value` (any)
|
|
170
|
+
* Значение, которое необходимо преобразовать в ассоциативный массив.
|
|
171
|
+
*
|
|
172
|
+
* ### Возвращаемое значение
|
|
173
|
+
*
|
|
174
|
+
* Возвращает объект, представляющий ассоциативный массив. Если значение уже является объектом, возвращается оно же.
|
|
175
|
+
*
|
|
176
|
+
* ### Примеры использования
|
|
177
|
+
*
|
|
178
|
+
* 1. Преобразование строки в ассоциативный массив:
|
|
179
|
+
*
|
|
180
|
+
* ```js
|
|
181
|
+
* const result = Convert.toAssoc('example');
|
|
182
|
+
* // Результат: { 0: 'example' }
|
|
183
|
+
* ```
|
|
184
|
+
*
|
|
185
|
+
* 2. Преобразование числа в ассоциативный массив:
|
|
186
|
+
*
|
|
187
|
+
* ```js
|
|
188
|
+
* const result = Convert.toAssoc(123);
|
|
189
|
+
* // Результат: { 0: 123 }
|
|
190
|
+
* ```
|
|
191
|
+
*
|
|
192
|
+
* 3. Преобразование массива в ассоциативный массив:
|
|
193
|
+
*
|
|
194
|
+
* ```js
|
|
195
|
+
* const result = Convert.toAssoc([1, 2, 3]);
|
|
196
|
+
* // Результат: { 0: 1, 1: 2, 2: 3 }
|
|
197
|
+
* ```
|
|
198
|
+
*
|
|
199
|
+
* 4. Преобразование ассоциативного массива (без изменений):
|
|
200
|
+
*
|
|
201
|
+
* ```js
|
|
202
|
+
* const result = Convert.toAssoc({ key: 'value' });
|
|
203
|
+
* // Результат: { key: 'value' }
|
|
204
|
+
* ```
|
|
205
|
+
*
|
|
206
|
+
* 5. Преобразование экземпляра класса в ассоциативный массив:
|
|
207
|
+
*
|
|
208
|
+
* ```js
|
|
209
|
+
* class MyClass {}
|
|
210
|
+
*
|
|
211
|
+
* const instance = new MyClass();
|
|
212
|
+
* const result = Convert.toAssoc(instance);
|
|
213
|
+
* // Результат: { 0: instance }
|
|
214
|
+
* ```
|
|
215
|
+
*
|
|
216
|
+
* 6. Преобразование null:
|
|
217
|
+
*
|
|
218
|
+
* ```js
|
|
219
|
+
* const result = Convert.toAssoc(null);
|
|
220
|
+
* // Результат: {}
|
|
221
|
+
* ```
|
|
222
|
+
*
|
|
223
|
+
* 7. Преобразование undefined:
|
|
224
|
+
*
|
|
225
|
+
* ```js
|
|
226
|
+
* const result = Convert.toAssoc(undefined);
|
|
227
|
+
* // Результат: {}
|
|
228
|
+
* ```
|
|
229
|
+
*
|
|
230
|
+
* @param {any} value Значение, которое необходимо преобразовать.
|
|
231
|
+
* @returns {Object} Возвращает объект, представляющий ассоциативный массив.
|
|
232
|
+
*/
|
|
233
|
+
static toAssoc(value) {
|
|
234
|
+
return to_assoc(value);
|
|
235
|
+
}
|
|
236
|
+
|
|
237
|
+
/**
|
|
238
|
+
* Преобразует значение в логическое значение.
|
|
239
|
+
*
|
|
240
|
+
* ### Описание
|
|
241
|
+
*
|
|
242
|
+
* Метод `Convert.toBool` используется для преобразования различных типов данных в логическое значение.
|
|
243
|
+
* Если значение является примитивом типа `boolean`, возвращается оно же. Для всех других типов данных
|
|
244
|
+
* метод возвращает `true` для истинных значений и `false` для ложных значений.
|
|
245
|
+
*
|
|
246
|
+
* ### Параметры
|
|
247
|
+
*
|
|
248
|
+
* - `value` (any)
|
|
249
|
+
* Значение, которое необходимо преобразовать в логическое значение.
|
|
250
|
+
*
|
|
251
|
+
* ### Возвращаемое значение
|
|
252
|
+
*
|
|
253
|
+
* Возвращает логическое значение, соответствующее переданному значению.
|
|
254
|
+
*
|
|
255
|
+
* ### Примеры использования
|
|
256
|
+
*
|
|
257
|
+
* 1. Преобразование строки в логическое значение:
|
|
258
|
+
*
|
|
259
|
+
* ```js
|
|
260
|
+
* const result = Convert.toBool('example');
|
|
261
|
+
* // Результат: true
|
|
262
|
+
* ```
|
|
263
|
+
*
|
|
264
|
+
* 2. Преобразование числа в логическое значение:
|
|
265
|
+
*
|
|
266
|
+
* ```js
|
|
267
|
+
* const result = Convert.toBool(123);
|
|
268
|
+
* // Результат: true
|
|
269
|
+
* ```
|
|
270
|
+
*
|
|
271
|
+
* 3. Преобразование булевых значений:
|
|
272
|
+
*
|
|
273
|
+
* ```js
|
|
274
|
+
* const result1 = Convert.toBool(true);
|
|
275
|
+
* // Результат: true
|
|
276
|
+
*
|
|
277
|
+
* const result2 = Convert.toBool(false);
|
|
278
|
+
* // Результат: false
|
|
279
|
+
* ```
|
|
280
|
+
*
|
|
281
|
+
* 4. Преобразование других значений:
|
|
282
|
+
*
|
|
283
|
+
* ```js
|
|
284
|
+
* const result1 = Convert.toBool(null);
|
|
285
|
+
* // Результат: false
|
|
286
|
+
*
|
|
287
|
+
* const result2 = Convert.toBool(undefined);
|
|
288
|
+
* // Результат: false
|
|
289
|
+
*
|
|
290
|
+
* const result3 = Convert.toBool([]);
|
|
291
|
+
* // Результат: false
|
|
292
|
+
*
|
|
293
|
+
* const result4 = Convert.toBool({});
|
|
294
|
+
* // Результат: false
|
|
295
|
+
* ```
|
|
296
|
+
*
|
|
297
|
+
* @param {any} value Значение, которое необходимо преобразовать.
|
|
298
|
+
* @returns {boolean} Возвращает логическое значение, соответствующее переданному значению.
|
|
299
|
+
*/
|
|
300
|
+
static toBool(value) {
|
|
301
|
+
return to_bool(value);
|
|
302
|
+
}
|
|
303
|
+
|
|
304
|
+
/**
|
|
305
|
+
* Преобразует значение в логическое значение.
|
|
306
|
+
*
|
|
307
|
+
* ### Описание
|
|
308
|
+
*
|
|
309
|
+
* Метод `Convert.toBoolean` используется для преобразования различных типов данных в логическое значение.
|
|
310
|
+
* Если значение является примитивом типа `boolean`, возвращается оно же. Для всех других типов данных
|
|
311
|
+
* метод возвращает `true` для истинных значений и `false` для ложных значений.
|
|
312
|
+
*
|
|
313
|
+
* ### Параметры
|
|
314
|
+
*
|
|
315
|
+
* - `value` (any)
|
|
316
|
+
* Значение, которое необходимо преобразовать в логическое значение.
|
|
317
|
+
*
|
|
318
|
+
* ### Возвращаемое значение
|
|
319
|
+
*
|
|
320
|
+
* Возвращает логическое значение, соответствующее переданному значению.
|
|
321
|
+
*
|
|
322
|
+
* ### Примеры использования
|
|
323
|
+
*
|
|
324
|
+
* 1. Преобразование строки в логическое значение:
|
|
325
|
+
*
|
|
326
|
+
* ```js
|
|
327
|
+
* const result = Convert.toBoolean('example');
|
|
328
|
+
* // Результат: true
|
|
329
|
+
* ```
|
|
330
|
+
*
|
|
331
|
+
* 2. Преобразование числа в логическое значение:
|
|
332
|
+
*
|
|
333
|
+
* ```js
|
|
334
|
+
* const result = Convert.toBoolean(123);
|
|
335
|
+
* // Результат: true
|
|
336
|
+
* ```
|
|
337
|
+
*
|
|
338
|
+
* 3. Преобразование булевых значений:
|
|
339
|
+
*
|
|
340
|
+
* ```js
|
|
341
|
+
* const result1 = Convert.toBoolean(true);
|
|
342
|
+
* // Результат: true
|
|
343
|
+
*
|
|
344
|
+
* const result2 = Convert.toBoolean(false);
|
|
345
|
+
* // Результат: false
|
|
346
|
+
* ```
|
|
347
|
+
*
|
|
348
|
+
* 4. Преобразование других значений:
|
|
349
|
+
*
|
|
350
|
+
* ```js
|
|
351
|
+
* const result1 = Convert.toBoolean(null);
|
|
352
|
+
* // Результат: false
|
|
353
|
+
*
|
|
354
|
+
* const result2 = Convert.toBoolean(undefined);
|
|
355
|
+
* // Результат: false
|
|
356
|
+
*
|
|
357
|
+
* const result3 = Convert.toBoolean([]);
|
|
358
|
+
* // Результат: false
|
|
359
|
+
*
|
|
360
|
+
* const result4 = Convert.toBoolean({});
|
|
361
|
+
* // Результат: false
|
|
362
|
+
* ```
|
|
363
|
+
*
|
|
364
|
+
* @param {any} value Значение, которое необходимо преобразовать.
|
|
365
|
+
* @returns {boolean} Возвращает логическое значение, соответствующее переданному значению.
|
|
366
|
+
*/
|
|
367
|
+
static toBoolean(value) {
|
|
368
|
+
return to_bool(value);
|
|
369
|
+
}
|
|
370
|
+
|
|
371
|
+
/**
|
|
372
|
+
* Приводит значение переменной к числу с плавающей точкой.
|
|
373
|
+
*
|
|
374
|
+
* ### Описание
|
|
375
|
+
*
|
|
376
|
+
* Метод `Convert.toFloat` используется для преобразования различных типов данных в число с плавающей точкой. Если значение не является числом или строкой, метод возвращает `1` для истинных значений и `0` для ложных значений.
|
|
377
|
+
*
|
|
378
|
+
* ### Параметры
|
|
379
|
+
*
|
|
380
|
+
* - `value` (any)
|
|
381
|
+
* Переменная, значение которой необходимо привести к числу с плавающей точкой.
|
|
382
|
+
*
|
|
383
|
+
* ### Возвращаемое значение
|
|
384
|
+
*
|
|
385
|
+
* Возвращает число с плавающей точкой, соответствующее переданному значению.
|
|
386
|
+
*
|
|
387
|
+
* ### Примеры использования
|
|
388
|
+
*
|
|
389
|
+
* 1. Преобразование строки в число с плавающей точкой:
|
|
390
|
+
*
|
|
391
|
+
* ```js
|
|
392
|
+
* const result = Convert.toFloat('123.45');
|
|
393
|
+
* // Результат: 123.45
|
|
394
|
+
* ```
|
|
395
|
+
*
|
|
396
|
+
* 2. Преобразование целого числа в число с плавающей точкой:
|
|
397
|
+
*
|
|
398
|
+
* ```js
|
|
399
|
+
* const result = Convert.toFloat(123);
|
|
400
|
+
* // Результат: 123.0
|
|
401
|
+
* ```
|
|
402
|
+
*
|
|
403
|
+
* 3. Преобразование булевых значений:
|
|
404
|
+
*
|
|
405
|
+
* ```js
|
|
406
|
+
* const result1 = Convert.toFloat(true);
|
|
407
|
+
* // Результат: 1.0
|
|
408
|
+
*
|
|
409
|
+
* const result2 = Convert.toFloat(false);
|
|
410
|
+
* // Результат: 0.0
|
|
411
|
+
* ```
|
|
412
|
+
*
|
|
413
|
+
* 4. Преобразование других значений:
|
|
414
|
+
*
|
|
415
|
+
* ```js
|
|
416
|
+
* const result1 = Convert.toFloat(null);
|
|
417
|
+
* // Результат: 0.0
|
|
418
|
+
*
|
|
419
|
+
* const result2 = Convert.toFloat(undefined);
|
|
420
|
+
* // Результат: 0.0
|
|
421
|
+
*
|
|
422
|
+
* const result3 = Convert.toFloat('example');
|
|
423
|
+
* // Результат: 0.0
|
|
424
|
+
* ```
|
|
425
|
+
*
|
|
426
|
+
* @param {any} value Переменная, значение которой необходимо привести к числу с плавающей точкой.
|
|
427
|
+
* @returns {number} Возвращает приведенное к числу с плавающей точкой значение переменной `value`.
|
|
428
|
+
*/
|
|
429
|
+
static toFloat(value) {
|
|
430
|
+
return to_float(value);
|
|
431
|
+
}
|
|
432
|
+
|
|
433
|
+
/**
|
|
434
|
+
* Приводит значение переменной к целому числу.
|
|
435
|
+
*
|
|
436
|
+
* ### Описание
|
|
437
|
+
*
|
|
438
|
+
* Метод `Convert.toInt` используется для преобразования различных типов данных в целое число. Если значение не является числом или строкой, метод возвращает `1` для истинных значений и `0` для ложных значений.
|
|
439
|
+
*
|
|
440
|
+
* ### Параметры
|
|
441
|
+
*
|
|
442
|
+
* - `value` (any)
|
|
443
|
+
* Переменная, значение которой необходимо привести к целому числу.
|
|
444
|
+
*
|
|
445
|
+
* - `base` (number)
|
|
446
|
+
* Основание системы счисления для преобразования строки в число. По умолчанию `10`.
|
|
447
|
+
*
|
|
448
|
+
* ### Возвращаемое значение
|
|
449
|
+
*
|
|
450
|
+
* Возвращает целое число, соответствующее переданному значению.
|
|
451
|
+
*
|
|
452
|
+
* ### Примеры использования
|
|
453
|
+
*
|
|
454
|
+
* 1. Преобразование строки в целое число:
|
|
455
|
+
*
|
|
456
|
+
* ```js
|
|
457
|
+
* const result = Convert.toInt('123');
|
|
458
|
+
* // Результат: 123
|
|
459
|
+
* ```
|
|
460
|
+
*
|
|
461
|
+
* 2. Преобразование числа с плавающей точкой в целое число:
|
|
462
|
+
*
|
|
463
|
+
* ```js
|
|
464
|
+
* const result = Convert.toInt(123.45);
|
|
465
|
+
* // Результат: 123
|
|
466
|
+
* ```
|
|
467
|
+
*
|
|
468
|
+
* 3. Преобразование булевых значений:
|
|
469
|
+
*
|
|
470
|
+
* ```js
|
|
471
|
+
* const result1 = Convert.toInt(true);
|
|
472
|
+
* // Результат: 1
|
|
473
|
+
*
|
|
474
|
+
* const result2 = Convert.toInt(false);
|
|
475
|
+
* // Результат: 0
|
|
476
|
+
* ```
|
|
477
|
+
*
|
|
478
|
+
* 4. Преобразование других значений:
|
|
479
|
+
*
|
|
480
|
+
* ```js
|
|
481
|
+
* const result1 = Convert.toInt(null);
|
|
482
|
+
* // Результат: 0
|
|
483
|
+
*
|
|
484
|
+
* const result2 = Convert.toInt(undefined);
|
|
485
|
+
* // Результат: 0
|
|
486
|
+
*
|
|
487
|
+
* const result3 = Convert.toInt('example');
|
|
488
|
+
* // Результат: 0
|
|
489
|
+
* ```
|
|
490
|
+
*
|
|
491
|
+
* 5. Преобразование строки с основанием системы счисления:
|
|
492
|
+
*
|
|
493
|
+
* ```js
|
|
494
|
+
* const result1 = Convert.toInt('10', 2);
|
|
495
|
+
* // Результат: 2
|
|
496
|
+
*
|
|
497
|
+
* const result2 = Convert.toInt('A', 16);
|
|
498
|
+
* // Результат: 10
|
|
499
|
+
*
|
|
500
|
+
* const result3 = Convert.toInt('7', 8);
|
|
501
|
+
* // Результат: 7
|
|
502
|
+
* ```
|
|
503
|
+
*
|
|
504
|
+
* @param {any} value Переменная, значение которой необходимо привести к целому числу.
|
|
505
|
+
* @param {number} [base=10] Основание системы счисления для преобразования строки в число.
|
|
506
|
+
* @returns {number} Возвращает приведенное к целому числу значение переменной `value`.
|
|
507
|
+
*/
|
|
508
|
+
static toInt(value, base = 10) {
|
|
509
|
+
return to_int(value, base);
|
|
510
|
+
}
|
|
511
|
+
|
|
512
|
+
/**
|
|
513
|
+
* Приводит значение переменной к целому числу.
|
|
514
|
+
*
|
|
515
|
+
* ### Описание
|
|
516
|
+
*
|
|
517
|
+
* Метод `Convert.toInteger` используется для преобразования различных типов данных в целое число. Если значение не является числом или строкой, метод возвращает `1` для истинных значений и `0` для ложных значений.
|
|
518
|
+
*
|
|
519
|
+
* ### Параметры
|
|
520
|
+
*
|
|
521
|
+
* - `value` (any)
|
|
522
|
+
* Переменная, значение которой необходимо привести к целому числу.
|
|
523
|
+
*
|
|
524
|
+
* - `base` (number)
|
|
525
|
+
* Основание системы счисления для преобразования строки в число. По умолчанию `10`.
|
|
526
|
+
*
|
|
527
|
+
* ### Возвращаемое значение
|
|
528
|
+
*
|
|
529
|
+
* Возвращает целое число, соответствующее переданному значению.
|
|
530
|
+
*
|
|
531
|
+
* ### Примеры использования
|
|
532
|
+
*
|
|
533
|
+
* 1. Преобразование строки в целое число:
|
|
534
|
+
*
|
|
535
|
+
* ```js
|
|
536
|
+
* const result = Convert.toInteger('123');
|
|
537
|
+
* // Результат: 123
|
|
538
|
+
* ```
|
|
539
|
+
*
|
|
540
|
+
* 2. Преобразование числа с плавающей точкой в целое число:
|
|
541
|
+
*
|
|
542
|
+
* ```js
|
|
543
|
+
* const result = Convert.toInteger(123.45);
|
|
544
|
+
* // Результат: 123
|
|
545
|
+
* ```
|
|
546
|
+
*
|
|
547
|
+
* 3. Преобразование булевых значений:
|
|
548
|
+
*
|
|
549
|
+
* ```js
|
|
550
|
+
* const result1 = Convert.toInteger(true);
|
|
551
|
+
* // Результат: 1
|
|
552
|
+
*
|
|
553
|
+
* const result2 = Convert.toInteger(false);
|
|
554
|
+
* // Результат: 0
|
|
555
|
+
* ```
|
|
556
|
+
*
|
|
557
|
+
* 4. Преобразование других значений:
|
|
558
|
+
*
|
|
559
|
+
* ```js
|
|
560
|
+
* const result1 = Convert.toInteger(null);
|
|
561
|
+
* // Результат: 0
|
|
562
|
+
*
|
|
563
|
+
* const result2 = Convert.toInteger(undefined);
|
|
564
|
+
* // Результат: 0
|
|
565
|
+
*
|
|
566
|
+
* const result3 = Convert.toInteger('example');
|
|
567
|
+
* // Результат: 0
|
|
568
|
+
* ```
|
|
569
|
+
*
|
|
570
|
+
* 5. Преобразование строки с основанием системы счисления:
|
|
571
|
+
*
|
|
572
|
+
* ```js
|
|
573
|
+
* const result1 = Convert.toInteger('10', 2);
|
|
574
|
+
* // Результат: 2
|
|
575
|
+
*
|
|
576
|
+
* const result2 = Convert.toInteger('A', 16);
|
|
577
|
+
* // Результат: 10
|
|
578
|
+
*
|
|
579
|
+
* const result3 = Convert.toInteger('7', 8);
|
|
580
|
+
* // Результат: 7
|
|
581
|
+
* ```
|
|
582
|
+
*
|
|
583
|
+
* @param {any} value Переменная, значение которой необходимо привести к целому числу.
|
|
584
|
+
* @param {number} [base=10] Основание системы счисления для преобразования строки в число.
|
|
585
|
+
* @returns {number} Возвращает приведенное к целому числу значение переменной `value`.
|
|
586
|
+
*/
|
|
587
|
+
static toInteger(value, base = 10) {
|
|
588
|
+
return to_int(value, base);
|
|
589
|
+
}
|
|
590
|
+
|
|
591
|
+
/**
|
|
592
|
+
* Преобразует значение в список.
|
|
593
|
+
*
|
|
594
|
+
* ### Параметры
|
|
595
|
+
*
|
|
596
|
+
* - `value` (any)
|
|
597
|
+
* Значение, которое необходимо преобразовать.
|
|
598
|
+
*
|
|
599
|
+
* ### Описание
|
|
600
|
+
*
|
|
601
|
+
* Метод `Convert.toList` преобразует переданное значение в список.
|
|
602
|
+
*
|
|
603
|
+
* Она выполняет следующие проверки:
|
|
604
|
+
*
|
|
605
|
+
* 1. **Null и Undefined**: Возвращает пустой массив для значений `null` и `undefined`.
|
|
606
|
+
* 2. **Array**: Возвращает исходный массив, если он передан.
|
|
607
|
+
* 3. **Object**: Возвращает массив значений объекта, если передан ассоциативный массив.
|
|
608
|
+
* 4. **Примитивы и другие типы**: Возвращает массив, содержащий переданное значение.
|
|
609
|
+
*
|
|
610
|
+
* ### Возвращаемое значение
|
|
611
|
+
*
|
|
612
|
+
* Возвращает массив, представляющий список значений.
|
|
613
|
+
*
|
|
614
|
+
* ### Примеры использования
|
|
615
|
+
*
|
|
616
|
+
* ```js
|
|
617
|
+
* Convert.toList(null); // []
|
|
618
|
+
* Convert.toList(undefined); // []
|
|
619
|
+
* Convert.toList([1, 2, 3]); // [1, 2, 3]
|
|
620
|
+
* Convert.toList({ key: 'value' }); // ['value']
|
|
621
|
+
* Convert.toList('example'); // ['example']
|
|
622
|
+
* Convert.toList(123); // [123]
|
|
623
|
+
* ```
|
|
624
|
+
*
|
|
625
|
+
* @param {any} value Значение, которое необходимо преобразовать.
|
|
626
|
+
* @returns {Array} Возвращает массив, представляющий список значений.
|
|
627
|
+
*/
|
|
628
|
+
static toList(value) {
|
|
629
|
+
return to_list(value);
|
|
630
|
+
}
|
|
631
|
+
|
|
632
|
+
/**
|
|
633
|
+
* Приводит значение переменной к объекту.
|
|
634
|
+
*
|
|
635
|
+
* ### Описание
|
|
636
|
+
*
|
|
637
|
+
* Метод `Convert.toObject` используется для преобразования различных типов данных в объект. Если значение уже является объектом, оно возвращается без изменений. Если значение является классом, возвращается новый экземпляр этого класса. Если значение является массивом, элементы массива копируются в новый объект. Для других значений создается объект с полем `value`, содержащим это значение.
|
|
638
|
+
*
|
|
639
|
+
* ### Параметры
|
|
640
|
+
*
|
|
641
|
+
* - `value` (any)
|
|
642
|
+
* Переменная, значение которой необходимо привести к объекту.
|
|
643
|
+
*
|
|
644
|
+
* ### Возвращаемое значение
|
|
645
|
+
*
|
|
646
|
+
* Возвращает объект, соответствующий переданному значению.
|
|
647
|
+
*
|
|
648
|
+
* ### Примеры использования
|
|
649
|
+
*
|
|
650
|
+
* 1. Преобразование объекта:
|
|
651
|
+
*
|
|
652
|
+
* ```js
|
|
653
|
+
* class MyClass {}
|
|
654
|
+
* const obj = new MyClass();
|
|
655
|
+
* const result = Convert.toObject(obj);
|
|
656
|
+
* // Результат: obj
|
|
657
|
+
* ```
|
|
658
|
+
*
|
|
659
|
+
* 2. Преобразование класса:
|
|
660
|
+
*
|
|
661
|
+
* ```js
|
|
662
|
+
* class MyClass {}
|
|
663
|
+
* const result = Convert.toObject(MyClass);
|
|
664
|
+
* // Результат: экземпляр MyClass
|
|
665
|
+
* ```
|
|
666
|
+
*
|
|
667
|
+
* 3. Преобразование null и undefined:
|
|
668
|
+
*
|
|
669
|
+
* ```js
|
|
670
|
+
* const result1 = Convert.toObject(null);
|
|
671
|
+
* // Результат: экземпляр анонимного класса
|
|
672
|
+
*
|
|
673
|
+
* const result2 = Convert.toObject(undefined);
|
|
674
|
+
* // Результат: экземпляр анонимного класса
|
|
675
|
+
* ```
|
|
676
|
+
*
|
|
677
|
+
* 4. Преобразование массива:
|
|
678
|
+
*
|
|
679
|
+
* ```js
|
|
680
|
+
* const arr = [1, 2, 3];
|
|
681
|
+
* const result = Convert.toObject(arr);
|
|
682
|
+
* // Результат: объект с элементами массива
|
|
683
|
+
* ```
|
|
684
|
+
*
|
|
685
|
+
* 5. Преобразование других значений:
|
|
686
|
+
*
|
|
687
|
+
* ```js
|
|
688
|
+
* const result = Convert.toObject('example');
|
|
689
|
+
* // Результат: объект с полем value, содержащим 'example'
|
|
690
|
+
* ```
|
|
691
|
+
*
|
|
692
|
+
* @param {any} value Переменная, значение которой необходимо привести к объекту.
|
|
693
|
+
* @returns {object} Возвращает приведенное к объекту значение переменной `value`.
|
|
694
|
+
*/
|
|
695
|
+
static toObject(value) {
|
|
696
|
+
return to_object(value);
|
|
697
|
+
}
|
|
698
|
+
|
|
699
|
+
/**
|
|
700
|
+
* Приводит значение переменной к строке.
|
|
701
|
+
*
|
|
702
|
+
* ### Описание
|
|
703
|
+
*
|
|
704
|
+
* Метод `Convert.toString` используется для преобразования различных типов данных в строку. Он обрабатывает массивы, объекты, классы, функции, символы и другие типы данных, возвращая их строковое представление.
|
|
705
|
+
*
|
|
706
|
+
* ### Параметры
|
|
707
|
+
*
|
|
708
|
+
* - `value` (any)
|
|
709
|
+
* Переменная, значение которой необходимо привести к строке.
|
|
710
|
+
*
|
|
711
|
+
* ### Возвращаемое значение
|
|
712
|
+
*
|
|
713
|
+
* Возвращает строку, соответствующую переданному значению.
|
|
714
|
+
*
|
|
715
|
+
* ### Примеры использования
|
|
716
|
+
*
|
|
717
|
+
* 1. Преобразование строки:
|
|
718
|
+
*
|
|
719
|
+
* ```js
|
|
720
|
+
* const result = Convert.toString('example');
|
|
721
|
+
* // Результат: 'example'
|
|
722
|
+
* ```
|
|
723
|
+
*
|
|
724
|
+
* 2. Преобразование числа:
|
|
725
|
+
*
|
|
726
|
+
* ```js
|
|
727
|
+
* const result = Convert.toString(123);
|
|
728
|
+
* // Результат: '123'
|
|
729
|
+
* ```
|
|
730
|
+
*
|
|
731
|
+
* 3. Преобразование булевых значений:
|
|
732
|
+
*
|
|
733
|
+
* ```js
|
|
734
|
+
* const result1 = Convert.toString(true);
|
|
735
|
+
* // Результат: 'true'
|
|
736
|
+
*
|
|
737
|
+
* const result2 = Convert.toString(false);
|
|
738
|
+
* // Результат: 'false'
|
|
739
|
+
* ```
|
|
740
|
+
*
|
|
741
|
+
* 4. Преобразование null и undefined:
|
|
742
|
+
*
|
|
743
|
+
* ```js
|
|
744
|
+
* const result1 = Convert.toString(null);
|
|
745
|
+
* // Результат: 'null'
|
|
746
|
+
*
|
|
747
|
+
* const result2 = Convert.toString(undefined);
|
|
748
|
+
* // Результат: 'undefined'
|
|
749
|
+
* ```
|
|
750
|
+
*
|
|
751
|
+
* 5. Преобразование массива:
|
|
752
|
+
*
|
|
753
|
+
* ```js
|
|
754
|
+
* const arr = [1, 2, 3];
|
|
755
|
+
* const result = Convert.toString(arr);
|
|
756
|
+
* // Результат: '[\n 1,\n 2,\n 3,\n]'
|
|
757
|
+
* ```
|
|
758
|
+
*
|
|
759
|
+
* 6. Преобразование объекта:
|
|
760
|
+
*
|
|
761
|
+
* ```js
|
|
762
|
+
* const obj = { key: 'value' };
|
|
763
|
+
* const result = Convert.toString(obj);
|
|
764
|
+
* // Результат: '{\n key: 'value',\n}'
|
|
765
|
+
* ```
|
|
766
|
+
*
|
|
767
|
+
* 7. Преобразование функции:
|
|
768
|
+
*
|
|
769
|
+
* ```js
|
|
770
|
+
* const func = function() {};
|
|
771
|
+
* const result = Convert.toString(func);
|
|
772
|
+
* // Результат: 'function func() {}'
|
|
773
|
+
* ```
|
|
774
|
+
*
|
|
775
|
+
* 8. Преобразование символа:
|
|
776
|
+
*
|
|
777
|
+
* ```js
|
|
778
|
+
* const symbol = Symbol('example');
|
|
779
|
+
* const result = Convert.toString(symbol);
|
|
780
|
+
* // Результат: 'Symbol(example)'
|
|
781
|
+
* ```
|
|
782
|
+
*
|
|
783
|
+
* 9. Преобразование BigInt:
|
|
784
|
+
*
|
|
785
|
+
* ```js
|
|
786
|
+
* const bigInt = BigInt(123);
|
|
787
|
+
* const result = Convert.toString(bigInt);
|
|
788
|
+
* // Результат: '123'
|
|
789
|
+
* ```
|
|
790
|
+
*
|
|
791
|
+
* 10. Преобразование класса:
|
|
792
|
+
*
|
|
793
|
+
* ```js
|
|
794
|
+
* class MyClass {
|
|
795
|
+
* static test = 'test';
|
|
796
|
+
* }
|
|
797
|
+
* const result = Convert.toString(MyClass);
|
|
798
|
+
* // Результат: 'class MyClass {}'
|
|
799
|
+
* ```
|
|
800
|
+
*
|
|
801
|
+
* 11. Преобразование экземпляра класса:
|
|
802
|
+
*
|
|
803
|
+
* ```js
|
|
804
|
+
* class MyClass {}
|
|
805
|
+
* const instance = new MyClass();
|
|
806
|
+
* const result = Convert.toString(instance);
|
|
807
|
+
* // Результат: 'object MyClass'
|
|
808
|
+
* ```
|
|
809
|
+
*
|
|
810
|
+
* @param {any} value Переменная, значение которой необходимо привести к строке.
|
|
811
|
+
* @returns {string} Возвращает приведенное к строке значение переменной `value`.
|
|
812
|
+
*/
|
|
813
|
+
static toString(value) {
|
|
814
|
+
return to_string(value);
|
|
815
|
+
}
|
|
816
|
+
}
|
|
817
|
+
|
|
818
|
+
export default Convert;
|