@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,72 @@
|
|
1
|
+
[Главная](../../../README.md) / [Классы](../../classes.md) / [Value](../Value.md) / toInteger
|
2
|
+
|
3
|
+
[Исходный код](../../../src/classes/Value.mjs)
|
4
|
+
|
5
|
+
# Value.toInteger
|
6
|
+
|
7
|
+
`Value.toInteger` — Преобразует значение в экземпляре класса `Value` к целому числу.
|
8
|
+
|
9
|
+
## Сигнатура метода
|
10
|
+
|
11
|
+
```ts
|
12
|
+
toInteger(): Value;
|
13
|
+
```
|
14
|
+
|
15
|
+
## Описание
|
16
|
+
|
17
|
+
Метод `toInteger` используется для преобразования значения, хранящегося в экземпляре класса `Value`,
|
18
|
+
в целое число. Если значение не является числом или строкой, метод возвращает `1` для истинных
|
19
|
+
значений и `0` для ложных значений.
|
20
|
+
|
21
|
+
Метод использует функцию `to_int` для выполнения преобразования.
|
22
|
+
|
23
|
+
## Возвращаемое значение
|
24
|
+
|
25
|
+
Возвращает новый экземпляр класса `Value` с преобразованным значением.
|
26
|
+
|
27
|
+
## Примеры использования
|
28
|
+
|
29
|
+
1. Преобразование строки в целое число:
|
30
|
+
|
31
|
+
```js
|
32
|
+
const valueInstance = new Value('123');
|
33
|
+
const result = valueInstance.toInteger();
|
34
|
+
// Результат: новый экземпляр класса Value с значением 123
|
35
|
+
```
|
36
|
+
|
37
|
+
2. Преобразование числа с плавающей точкой в целое число:
|
38
|
+
|
39
|
+
```js
|
40
|
+
const valueInstance = new Value(123.45);
|
41
|
+
const result = valueInstance.toInteger();
|
42
|
+
// Результат: новый экземпляр класса Value с значением 123
|
43
|
+
```
|
44
|
+
|
45
|
+
3. Преобразование булевых значений:
|
46
|
+
|
47
|
+
```js
|
48
|
+
const valueInstance1 = new Value(true);
|
49
|
+
const result1 = valueInstance1.toInteger();
|
50
|
+
// Результат: новый экземпляр класса Value с значением 1
|
51
|
+
|
52
|
+
const valueInstance2 = new Value(false);
|
53
|
+
const result2 = valueInstance2.toInteger();
|
54
|
+
// Результат: новый экземпляр класса Value с значением 0
|
55
|
+
```
|
56
|
+
|
57
|
+
4. Преобразование других значений:
|
58
|
+
|
59
|
+
```js
|
60
|
+
const valueInstance1 = new Value(null);
|
61
|
+
const result1 = valueInstance1.toInteger();
|
62
|
+
// Результат: новый экземпляр класса Value с значением 0
|
63
|
+
|
64
|
+
const valueInstance2 = new Value(undefined);
|
65
|
+
const result2 = valueInstance2.toInteger();
|
66
|
+
// Результат: новый экземпляр класса Value с значением 0
|
67
|
+
|
68
|
+
const valueInstance3 = new Value('example');
|
69
|
+
const result3 = valueInstance3.toInteger();
|
70
|
+
// Результат: новый экземпляр класса Value с значением 0
|
71
|
+
```
|
72
|
+
|
@@ -0,0 +1,77 @@
|
|
1
|
+
[Главная](../../../README.md) / [Классы](../../classes.md) / [Value](../Value.md) / toList
|
2
|
+
|
3
|
+
[Исходный код](../../../src/classes/Value.mjs)
|
4
|
+
|
5
|
+
# Value.toList
|
6
|
+
|
7
|
+
`Value.toList` — Преобразует значение в экземпляре класса `Value` к списку.
|
8
|
+
|
9
|
+
## Сигнатура метода
|
10
|
+
|
11
|
+
```ts
|
12
|
+
toList(): Value;
|
13
|
+
```
|
14
|
+
|
15
|
+
## Описание
|
16
|
+
|
17
|
+
Метод `toList` используется для преобразования значения, хранящегося в экземпляре класса `Value`, в
|
18
|
+
список. Если значение является `null` или `undefined`, возвращается пустой массив. Если значение уже
|
19
|
+
является массивом, возвращается оно же. Если значение является ассоциативным массивом, возвращается
|
20
|
+
массив значений объекта. Для других значений создается массив, содержащий это значение.
|
21
|
+
|
22
|
+
Метод использует функцию `to_list` для выполнения преобразования.
|
23
|
+
|
24
|
+
## Возвращаемое значение
|
25
|
+
|
26
|
+
Возвращает новый экземпляр класса `Value` с преобразованным значением.
|
27
|
+
|
28
|
+
## Примеры использования
|
29
|
+
|
30
|
+
1. Преобразование `null` в пустой массив:
|
31
|
+
|
32
|
+
```js
|
33
|
+
const valueInstance = new Value(null);
|
34
|
+
const result = valueInstance.toList();
|
35
|
+
// Результат: новый экземпляр класса Value с значением []
|
36
|
+
```
|
37
|
+
|
38
|
+
2. Преобразование `undefined` в пустой массив:
|
39
|
+
|
40
|
+
```js
|
41
|
+
const valueInstance = new Value(undefined);
|
42
|
+
const result = valueInstance.toList();
|
43
|
+
// Результат: новый экземпляр класса Value с значением []
|
44
|
+
```
|
45
|
+
|
46
|
+
3. Преобразование массива (без изменений):
|
47
|
+
|
48
|
+
```js
|
49
|
+
const valueInstance = new Value([1, 2, 3]);
|
50
|
+
const result = valueInstance.toList();
|
51
|
+
// Результат: новый экземпляр класса Value с значением [1, 2, 3]
|
52
|
+
```
|
53
|
+
|
54
|
+
4. Преобразование ассоциативного массива в массив значений:
|
55
|
+
|
56
|
+
```js
|
57
|
+
const valueInstance = new Value({ key: 'value' });
|
58
|
+
const result = valueInstance.toList();
|
59
|
+
// Результат: новый экземпляр класса Value с значением ['value']
|
60
|
+
```
|
61
|
+
|
62
|
+
5. Преобразование строки в массив:
|
63
|
+
|
64
|
+
```js
|
65
|
+
const valueInstance = new Value('example');
|
66
|
+
const result = valueInstance.toList();
|
67
|
+
// Результат: новый экземпляр класса Value с значением ['example']
|
68
|
+
```
|
69
|
+
|
70
|
+
6. Преобразование числа в массив:
|
71
|
+
|
72
|
+
```js
|
73
|
+
const valueInstance = new Value(123);
|
74
|
+
const result = valueInstance.toList();
|
75
|
+
// Результат: новый экземпляр класса Value с значением [123]
|
76
|
+
```
|
77
|
+
|
@@ -0,0 +1,78 @@
|
|
1
|
+
[Главная](../../../README.md) / [Классы](../../classes.md) / [Value](../Value.md) / toObject
|
2
|
+
|
3
|
+
[Исходный код](../../../src/classes/Value.mjs)
|
4
|
+
|
5
|
+
# Value.toObject
|
6
|
+
|
7
|
+
`Value.toObject` — Преобразует значение в экземпляре класса `Value` к объекту.
|
8
|
+
|
9
|
+
## Сигнатура метода
|
10
|
+
|
11
|
+
```ts
|
12
|
+
toObject(): Value;
|
13
|
+
```
|
14
|
+
|
15
|
+
## Описание
|
16
|
+
|
17
|
+
Метод `toObject` используется для преобразования значения, хранящегося в экземпляре класса `Value`,
|
18
|
+
в объект. Если значение уже является объектом, оно возвращается без изменений. Если значение
|
19
|
+
является классом, возвращается новый экземпляр этого класса. Если значение является массивом,
|
20
|
+
элементы массива копируются в новый объект. Для других значений создается объект с полем `value`,
|
21
|
+
содержащим это значение.
|
22
|
+
|
23
|
+
Метод использует функцию `to_object` для выполнения преобразования.
|
24
|
+
|
25
|
+
## Возвращаемое значение
|
26
|
+
|
27
|
+
Возвращает новый экземпляр класса `Value` с преобразованным значением.
|
28
|
+
|
29
|
+
## Примеры использования
|
30
|
+
|
31
|
+
1. Преобразование объекта:
|
32
|
+
|
33
|
+
```js
|
34
|
+
class MyClass {}
|
35
|
+
const obj = new MyClass();
|
36
|
+
const valueInstance = new Value(obj);
|
37
|
+
const result = valueInstance.toObject();
|
38
|
+
// Результат: новый экземпляр класса Value с значением obj
|
39
|
+
```
|
40
|
+
|
41
|
+
2. Преобразование класса:
|
42
|
+
|
43
|
+
```js
|
44
|
+
class MyClass {}
|
45
|
+
const valueInstance = new Value(MyClass);
|
46
|
+
const result = valueInstance.toObject();
|
47
|
+
// Результат: новый экземпляр класса Value с значением экземпляра MyClass
|
48
|
+
```
|
49
|
+
|
50
|
+
3. Преобразование null и undefined:
|
51
|
+
|
52
|
+
```js
|
53
|
+
const valueInstance1 = new Value(null);
|
54
|
+
const result1 = valueInstance1.toObject();
|
55
|
+
// Результат: новый экземпляр класса Value с значением экземпляра анонимного класса
|
56
|
+
|
57
|
+
const valueInstance2 = new Value(undefined);
|
58
|
+
const result2 = valueInstance2.toObject();
|
59
|
+
// Результат: новый экземпляр класса Value с значением экземпляра анонимного класса
|
60
|
+
```
|
61
|
+
|
62
|
+
4. Преобразование массива:
|
63
|
+
|
64
|
+
```js
|
65
|
+
const arr = [1, 2, 3];
|
66
|
+
const valueInstance = new Value(arr);
|
67
|
+
const result = valueInstance.toObject();
|
68
|
+
// Результат: новый экземпляр класса Value с значением объекта с элементами массива
|
69
|
+
```
|
70
|
+
|
71
|
+
5. Преобразование других значений:
|
72
|
+
|
73
|
+
```js
|
74
|
+
const valueInstance = new Value('example');
|
75
|
+
const result = valueInstance.toObject();
|
76
|
+
// Результат: новый экземпляр класса Value с значением объекта с полем value, содержащим 'example'
|
77
|
+
```
|
78
|
+
|
@@ -0,0 +1,115 @@
|
|
1
|
+
[Главная](../../../README.md) / [Классы](../../classes.md) / [Value](../Value.md) / toPrint
|
2
|
+
|
3
|
+
[Исходный код](../../../src/classes/Value.mjs)
|
4
|
+
|
5
|
+
# Value.toPrint
|
6
|
+
|
7
|
+
`Value.toPrint` — Преобразует значение переменной в строку и возвращает новый экземпляр класса
|
8
|
+
`Value` с этим значением.
|
9
|
+
|
10
|
+
## Сигнатура метода
|
11
|
+
|
12
|
+
```ts
|
13
|
+
toPrint(): Value;
|
14
|
+
```
|
15
|
+
|
16
|
+
## Описание
|
17
|
+
|
18
|
+
Метод `toPrint` используется для преобразования значения, хранящегося в экземпляре класса `Value`, в
|
19
|
+
строку и возвращает новый экземпляр класса `Value` с этим значением. Он обрабатывает массивы,
|
20
|
+
объекты, классы, функции, символы и другие типы данных, возвращая их строковое представление.
|
21
|
+
|
22
|
+
Метод использует функцию `print` для выполнения преобразования.
|
23
|
+
|
24
|
+
## Возвращаемое значение
|
25
|
+
|
26
|
+
Возвращает новый экземпляр класса `Value` с преобразованным значением.
|
27
|
+
|
28
|
+
## Примеры использования
|
29
|
+
|
30
|
+
1. Преобразование строки:
|
31
|
+
|
32
|
+
```js
|
33
|
+
const valueInstance = new Value('example');
|
34
|
+
const result = valueInstance.toPrint();
|
35
|
+
// Результат: новый экземпляр класса Value с значением "example"
|
36
|
+
```
|
37
|
+
|
38
|
+
2. Преобразование числа:
|
39
|
+
|
40
|
+
```js
|
41
|
+
const valueInstance = new Value(123);
|
42
|
+
const result = valueInstance.toPrint();
|
43
|
+
// Результат: новый экземпляр класса Value с значением 123
|
44
|
+
```
|
45
|
+
|
46
|
+
3. Преобразование булевых значений:
|
47
|
+
|
48
|
+
```js
|
49
|
+
const valueInstance = new Value(true);
|
50
|
+
const result = valueInstance.toPrint();
|
51
|
+
// Результат: новый экземпляр класса Value с значением true
|
52
|
+
```
|
53
|
+
|
54
|
+
```js
|
55
|
+
const valueInstance = new Value(false);
|
56
|
+
const result = valueInstance.toPrint();
|
57
|
+
// Результат: новый экземпляр класса Value с значением false
|
58
|
+
```
|
59
|
+
|
60
|
+
4. Преобразование null и undefined:
|
61
|
+
|
62
|
+
```js
|
63
|
+
const valueInstance = new Value(null);
|
64
|
+
const result = valueInstance.toPrint();
|
65
|
+
// Результат: новый экземпляр класса Value с значением null
|
66
|
+
```
|
67
|
+
|
68
|
+
```js
|
69
|
+
const valueInstance = new Value(undefined);
|
70
|
+
const result = valueInstance.toPrint();
|
71
|
+
// Результат: новый экземпляр класса Value с значением undefined
|
72
|
+
```
|
73
|
+
|
74
|
+
5. Преобразование массива:
|
75
|
+
|
76
|
+
```js
|
77
|
+
const arr = [1, 2, 3];
|
78
|
+
const valueInstance = new Value(arr);
|
79
|
+
const result = valueInstance.toPrint();
|
80
|
+
// Результат: новый экземпляр класса Value с значением [
|
81
|
+
// 0: 1,
|
82
|
+
// 1: 2,
|
83
|
+
// 2: 3,
|
84
|
+
// ]
|
85
|
+
```
|
86
|
+
|
87
|
+
6. Преобразование ассоциативного массива:
|
88
|
+
|
89
|
+
```js
|
90
|
+
const obj = { key: 'value' };
|
91
|
+
const valueInstance = new Value(obj);
|
92
|
+
const result = valueInstance.toPrint();
|
93
|
+
// Результат: новый экземпляр класса Value с значением {
|
94
|
+
// key: "value",
|
95
|
+
// }
|
96
|
+
```
|
97
|
+
|
98
|
+
7. Преобразование функции:
|
99
|
+
|
100
|
+
```js
|
101
|
+
const func = function () {};
|
102
|
+
const valueInstance = new Value(func);
|
103
|
+
const result = valueInstance.toPrint();
|
104
|
+
// Результат: новый экземпляр класса Value с значением function func() {}
|
105
|
+
```
|
106
|
+
|
107
|
+
8. Преобразование символа:
|
108
|
+
|
109
|
+
```js
|
110
|
+
const symbol = Symbol('example');
|
111
|
+
const valueInstance = new Value(symbol);
|
112
|
+
const result = valueInstance.toPrint();
|
113
|
+
// Результат: новый экземпляр класса Value с значением Symbol(example)
|
114
|
+
```
|
115
|
+
|
@@ -0,0 +1,110 @@
|
|
1
|
+
[Главная](../../../README.md) / [Классы](../../classes.md) / [Value](../Value.md) / toPrintType
|
2
|
+
|
3
|
+
[Исходный код](../../../src/classes/Value.mjs)
|
4
|
+
|
5
|
+
# Value.toPrintType
|
6
|
+
|
7
|
+
`Value.toPrintType` — Преобразует тип значения переменной в строку и возвращает новый
|
8
|
+
экземпляр класса `Value` с этим значением.
|
9
|
+
|
10
|
+
## Сигнатура метода
|
11
|
+
|
12
|
+
```ts
|
13
|
+
toPrintType(): Value;
|
14
|
+
```
|
15
|
+
|
16
|
+
## Описание
|
17
|
+
|
18
|
+
Метод `toPrintType` используется для преобразования типа значения, хранящегося в экземпляре класса
|
19
|
+
`Value`, в строку и возвращает новый экземпляр класса `Value` с этим значением. Он обрабатывает
|
20
|
+
массивы, объекты, классы, функции, символы и другие типы данных, возвращая их строковое
|
21
|
+
представление.
|
22
|
+
|
23
|
+
Метод использует функцию `print_type` для выполнения преобразования.
|
24
|
+
|
25
|
+
## Возвращаемое значение
|
26
|
+
|
27
|
+
Возвращает новый экземпляр класса `Value` с преобразованным значением.
|
28
|
+
|
29
|
+
## Примеры использования
|
30
|
+
|
31
|
+
1. Преобразование строки:
|
32
|
+
|
33
|
+
```js
|
34
|
+
const valueInstance = new Value('example');
|
35
|
+
const result = valueInstance.toPrintType();
|
36
|
+
// Результат: новый экземпляр класса Value с значением "string"
|
37
|
+
```
|
38
|
+
|
39
|
+
2. Преобразование числа:
|
40
|
+
|
41
|
+
```js
|
42
|
+
const valueInstance = new Value(123);
|
43
|
+
const result = valueInstance.toPrintType();
|
44
|
+
// Результат: новый экземпляр класса Value с значением "integer"
|
45
|
+
```
|
46
|
+
|
47
|
+
3. Преобразование булевых значений:
|
48
|
+
|
49
|
+
```js
|
50
|
+
const valueInstance = new Value(true);
|
51
|
+
const result = valueInstance.toPrintType();
|
52
|
+
// Результат: новый экземпляр класса Value с значением "boolean"
|
53
|
+
```
|
54
|
+
|
55
|
+
```js
|
56
|
+
const valueInstance = new Value(false);
|
57
|
+
const result = valueInstance.toPrintType();
|
58
|
+
// Результат: новый экземпляр класса Value с значением "boolean"
|
59
|
+
```
|
60
|
+
|
61
|
+
4. Преобразование null и undefined:
|
62
|
+
|
63
|
+
```js
|
64
|
+
const valueInstance = new Value(null);
|
65
|
+
const result = valueInstance.toPrintType();
|
66
|
+
// Результат: новый экземпляр класса Value с значением "null"
|
67
|
+
```
|
68
|
+
|
69
|
+
```js
|
70
|
+
const valueInstance = new Value(undefined);
|
71
|
+
const result = valueInstance.toPrintType();
|
72
|
+
// Результат: новый экземпляр класса Value с значением "undefined"
|
73
|
+
```
|
74
|
+
|
75
|
+
5. Преобразование массива:
|
76
|
+
|
77
|
+
```js
|
78
|
+
const arr = [1, 2, 3];
|
79
|
+
const valueInstance = new Value(arr);
|
80
|
+
const result = valueInstance.toPrintType();
|
81
|
+
// Результат: новый экземпляр класса Value с значением "array"
|
82
|
+
```
|
83
|
+
|
84
|
+
6. Преобразование ассоциативного массива:
|
85
|
+
|
86
|
+
```js
|
87
|
+
const obj = { key: 'value' };
|
88
|
+
const valueInstance = new Value(obj);
|
89
|
+
const result = valueInstance.toPrintType();
|
90
|
+
// Результат: новый экземпляр класса Value с значением "object"
|
91
|
+
```
|
92
|
+
|
93
|
+
7. Преобразование функции:
|
94
|
+
|
95
|
+
```js
|
96
|
+
const func = function () {};
|
97
|
+
const valueInstance = new Value(func);
|
98
|
+
const result = valueInstance.toPrintType();
|
99
|
+
// Результат: новый экземпляр класса Value с значением "function"
|
100
|
+
```
|
101
|
+
|
102
|
+
8. Преобразование символа:
|
103
|
+
|
104
|
+
```js
|
105
|
+
const symbol = Symbol('example');
|
106
|
+
const valueInstance = new Value(symbol);
|
107
|
+
const result = valueInstance.toPrintType();
|
108
|
+
// Результат: новый экземпляр класса Value с значением "symbol"
|
109
|
+
```
|
110
|
+
|
@@ -0,0 +1,134 @@
|
|
1
|
+
[Главная](../../../README.md) / [Классы](../../classes.md) / [Value](../Value.md) / toString
|
2
|
+
|
3
|
+
[Исходный код](../../../src/classes/Value.mjs)
|
4
|
+
|
5
|
+
# Value.toString
|
6
|
+
|
7
|
+
`Value.toString` — Преобразует значение в экземпляре класса `Value` к строке.
|
8
|
+
|
9
|
+
## Сигнатура метода
|
10
|
+
|
11
|
+
```ts
|
12
|
+
toString(): Value;
|
13
|
+
```
|
14
|
+
|
15
|
+
## Описание
|
16
|
+
|
17
|
+
Метод `toString` используется для преобразования значения, хранящегося в экземпляре класса `Value`,
|
18
|
+
в строку. Он обрабатывает массивы, объекты, классы, функции, символы и другие типы данных, возвращая
|
19
|
+
их строковое представление.
|
20
|
+
|
21
|
+
Метод использует функцию `to_string` для выполнения преобразования.
|
22
|
+
|
23
|
+
## Возвращаемое значение
|
24
|
+
|
25
|
+
Возвращает новый экземпляр класса `Value` с преобразованным значением.
|
26
|
+
|
27
|
+
## Примеры использования
|
28
|
+
|
29
|
+
1. Преобразование строки:
|
30
|
+
|
31
|
+
```js
|
32
|
+
const valueInstance = new Value('example');
|
33
|
+
const result = valueInstance.toString();
|
34
|
+
// Результат: новый экземпляр класса Value с значением 'example'
|
35
|
+
```
|
36
|
+
|
37
|
+
2. Преобразование числа:
|
38
|
+
|
39
|
+
```js
|
40
|
+
const valueInstance = new Value(123);
|
41
|
+
const result = valueInstance.toString();
|
42
|
+
// Результат: новый экземпляр класса Value с значением '123'
|
43
|
+
```
|
44
|
+
|
45
|
+
3. Преобразование булевых значений:
|
46
|
+
|
47
|
+
```js
|
48
|
+
const valueInstance1 = new Value(true);
|
49
|
+
const result1 = valueInstance1.toString();
|
50
|
+
// Результат: новый экземпляр класса Value с значением 'true'
|
51
|
+
|
52
|
+
const valueInstance2 = new Value(false);
|
53
|
+
const result2 = valueInstance2.toString();
|
54
|
+
// Результат: новый экземпляр класса Value с значением 'false'
|
55
|
+
```
|
56
|
+
|
57
|
+
4. Преобразование null и undefined:
|
58
|
+
|
59
|
+
```js
|
60
|
+
const valueInstance1 = new Value(null);
|
61
|
+
const result1 = valueInstance1.toString();
|
62
|
+
// Результат: новый экземпляр класса Value с значением 'null'
|
63
|
+
|
64
|
+
const valueInstance2 = new Value(undefined);
|
65
|
+
const result2 = valueInstance2.toString();
|
66
|
+
// Результат: новый экземпляр класса Value с значением 'undefined'
|
67
|
+
```
|
68
|
+
|
69
|
+
5. Преобразование массива:
|
70
|
+
|
71
|
+
```js
|
72
|
+
const arr = [1, 2, 3];
|
73
|
+
const valueInstance = new Value(arr);
|
74
|
+
const result = valueInstance.toString();
|
75
|
+
// Результат: новый экземпляр класса Value с значением '[\n 1,\n 2,\n 3,\n]'
|
76
|
+
```
|
77
|
+
|
78
|
+
6. Преобразование объекта:
|
79
|
+
|
80
|
+
```js
|
81
|
+
const obj = { key: 'value' };
|
82
|
+
const valueInstance = new Value(obj);
|
83
|
+
const result = valueInstance.toString();
|
84
|
+
// Результат: новый экземпляр класса Value с значением '{\n key: 'value',\n}'
|
85
|
+
```
|
86
|
+
|
87
|
+
7. Преобразование функции:
|
88
|
+
|
89
|
+
```js
|
90
|
+
const func = function () {};
|
91
|
+
const valueInstance = new Value(func);
|
92
|
+
const result = valueInstance.toString();
|
93
|
+
// Результат: новый экземпляр класса Value с значением 'function func() {}'
|
94
|
+
```
|
95
|
+
|
96
|
+
8. Преобразование символа:
|
97
|
+
|
98
|
+
```js
|
99
|
+
const symbol = Symbol('example');
|
100
|
+
const valueInstance = new Value(symbol);
|
101
|
+
const result = valueInstance.toString();
|
102
|
+
// Результат: новый экземпляр класса Value с значением 'Symbol(example)'
|
103
|
+
```
|
104
|
+
|
105
|
+
9. Преобразование BigInt:
|
106
|
+
|
107
|
+
```js
|
108
|
+
const bigInt = BigInt(123);
|
109
|
+
const valueInstance = new Value(bigInt);
|
110
|
+
const result = valueInstance.toString();
|
111
|
+
// Результат: новый экземпляр класса Value с значением '123'
|
112
|
+
```
|
113
|
+
|
114
|
+
10. Преобразование класса:
|
115
|
+
|
116
|
+
```js
|
117
|
+
class MyClass {
|
118
|
+
static test = 'test';
|
119
|
+
}
|
120
|
+
const valueInstance = new Value(MyClass);
|
121
|
+
const result = valueInstance.toString();
|
122
|
+
// Результат: новый экземпляр класса Value с значением 'class MyClass {}'
|
123
|
+
```
|
124
|
+
|
125
|
+
11. Преобразование экземпляра класса:
|
126
|
+
|
127
|
+
```js
|
128
|
+
class MyClass {}
|
129
|
+
const instance = new MyClass();
|
130
|
+
const valueInstance = new Value(instance);
|
131
|
+
const result = valueInstance.toString();
|
132
|
+
// Результат: новый экземпляр класса Value с значением 'object MyClass'
|
133
|
+
```
|
134
|
+
|