@rogolev/value 0.0.2 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (133) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/README.md +19 -1
  3. package/docs/classes/Value/constructor.md +48 -0
  4. package/docs/classes/Value/get.md +51 -0
  5. package/docs/classes/Value/getType.md +71 -0
  6. package/docs/classes/Value/isArray.md +67 -0
  7. package/docs/classes/Value/isAssoc.md +68 -0
  8. package/docs/classes/Value/isBigInt.md +52 -0
  9. package/docs/classes/Value/isBool.md +60 -0
  10. package/docs/classes/Value/isBoolean.md +60 -0
  11. package/docs/classes/Value/isClass.md +55 -0
  12. package/docs/classes/Value/isEmpty.md +84 -0
  13. package/docs/classes/Value/isFloat.md +52 -0
  14. package/docs/classes/Value/isFunction.md +60 -0
  15. package/docs/classes/Value/isInfinity.md +60 -0
  16. package/docs/classes/Value/isInt.md +52 -0
  17. package/docs/classes/Value/isInteger.md +52 -0
  18. package/docs/classes/Value/isList.md +59 -0
  19. package/docs/classes/Value/isNaN.md +79 -0
  20. package/docs/classes/Value/isNull.md +59 -0
  21. package/docs/classes/Value/isNumber.md +80 -0
  22. package/docs/classes/Value/isNumeric.md +79 -0
  23. package/docs/classes/Value/isObject.md +68 -0
  24. package/docs/classes/Value/isScalar.md +72 -0
  25. package/docs/classes/Value/isString.md +67 -0
  26. package/docs/classes/Value/isSymbol.md +75 -0
  27. package/docs/classes/Value/isUndefined.md +67 -0
  28. package/docs/classes/Value/print.md +164 -0
  29. package/docs/classes/Value/printType.md +158 -0
  30. package/docs/classes/Value/setType.md +79 -0
  31. package/docs/classes/Value/toArray.md +85 -0
  32. package/docs/classes/Value/toAssoc.md +85 -0
  33. package/docs/classes/Value/toBool.md +71 -0
  34. package/docs/classes/Value/toBoolean.md +71 -0
  35. package/docs/classes/Value/toFloat.md +72 -0
  36. package/docs/classes/Value/toInt.md +72 -0
  37. package/docs/classes/Value/toInteger.md +72 -0
  38. package/docs/classes/Value/toList.md +77 -0
  39. package/docs/classes/Value/toObject.md +78 -0
  40. package/docs/classes/Value/toPrint.md +115 -0
  41. package/docs/classes/Value/toPrintType.md +110 -0
  42. package/docs/classes/Value/toString.md +134 -0
  43. package/docs/classes/Value.md +113 -0
  44. package/docs/classes.md +2 -0
  45. package/docs/constants.md +47 -0
  46. package/docs/helpers/value.md +95 -0
  47. package/docs/helpers.md +2 -0
  48. package/index.mjs +3 -0
  49. package/package.json +2 -2
  50. package/src/classes/Convert.mjs +818 -819
  51. package/src/classes/Type.mjs +1284 -1285
  52. package/src/classes/Value.mjs +2846 -0
  53. package/src/constants.mjs +14 -0
  54. package/src/helpers/array.mjs +107 -107
  55. package/src/helpers/empty.mjs +70 -70
  56. package/src/helpers/gettype.mjs +149 -133
  57. package/src/helpers/is_array.mjs +128 -128
  58. package/src/helpers/is_assoc.mjs +51 -51
  59. package/src/helpers/is_bigint.mjs +47 -47
  60. package/src/helpers/is_bool.mjs +43 -43
  61. package/src/helpers/is_boolean.mjs +43 -43
  62. package/src/helpers/is_class.mjs +87 -87
  63. package/src/helpers/is_float.mjs +67 -67
  64. package/src/helpers/is_function.mjs +74 -74
  65. package/src/helpers/is_infinity.mjs +52 -52
  66. package/src/helpers/is_int.mjs +57 -57
  67. package/src/helpers/is_integer.mjs +74 -74
  68. package/src/helpers/is_list.mjs +43 -43
  69. package/src/helpers/is_nan.mjs +51 -51
  70. package/src/helpers/is_null.mjs +37 -37
  71. package/src/helpers/is_number.mjs +49 -49
  72. package/src/helpers/is_numeric.mjs +64 -64
  73. package/src/helpers/is_object.mjs +72 -72
  74. package/src/helpers/is_scalar.mjs +45 -45
  75. package/src/helpers/is_string.mjs +46 -46
  76. package/src/helpers/is_symbol.mjs +46 -46
  77. package/src/helpers/is_undefined.mjs +44 -44
  78. package/src/helpers/print.mjs +245 -245
  79. package/src/helpers/print_type.mjs +261 -261
  80. package/src/helpers/settype.mjs +101 -101
  81. package/src/helpers/to_array.mjs +118 -118
  82. package/src/helpers/to_assoc.mjs +98 -98
  83. package/src/helpers/to_bool.mjs +68 -68
  84. package/src/helpers/to_boolean.mjs +64 -64
  85. package/src/helpers/to_float.mjs +72 -72
  86. package/src/helpers/to_int.mjs +93 -93
  87. package/src/helpers/to_integer.mjs +81 -81
  88. package/src/helpers/to_list.mjs +56 -56
  89. package/src/helpers/to_object.mjs +94 -94
  90. package/src/helpers/to_string.mjs +157 -157
  91. package/src/helpers/value.mjs +92 -0
  92. package/tests/classes/Convert.test.mjs +398 -399
  93. package/tests/classes/Type.test.mjs +1262 -1263
  94. package/tests/classes/Value.test.mjs +423 -0
  95. package/tests/constants.test.mjs +75 -0
  96. package/tests/helpers/array.test.mjs +58 -58
  97. package/tests/helpers/empty.test.mjs +22 -22
  98. package/tests/helpers/gettype.test.mjs +74 -74
  99. package/tests/helpers/is_array.test.mjs +404 -404
  100. package/tests/helpers/is_assoc.test.mjs +42 -42
  101. package/tests/helpers/is_bigint.test.mjs +51 -51
  102. package/tests/helpers/is_bool.test.mjs +43 -43
  103. package/tests/helpers/is_boolean.test.mjs +43 -43
  104. package/tests/helpers/is_class.test.mjs +84 -84
  105. package/tests/helpers/is_float.test.mjs +87 -87
  106. package/tests/helpers/is_function.test.mjs +83 -83
  107. package/tests/helpers/is_infinity.test.mjs +46 -46
  108. package/tests/helpers/is_int.test.mjs +45 -45
  109. package/tests/helpers/is_integer.test.mjs +64 -64
  110. package/tests/helpers/is_list.test.mjs +42 -42
  111. package/tests/helpers/is_nan.test.mjs +43 -43
  112. package/tests/helpers/is_null.test.mjs +17 -17
  113. package/tests/helpers/is_number.test.mjs +25 -25
  114. package/tests/helpers/is_numeric.test.mjs +30 -30
  115. package/tests/helpers/is_object.test.mjs +52 -52
  116. package/tests/helpers/is_scalar.test.mjs +21 -21
  117. package/tests/helpers/is_string.test.mjs +20 -20
  118. package/tests/helpers/is_symbol.test.mjs +20 -20
  119. package/tests/helpers/is_undefined.test.mjs +18 -18
  120. package/tests/helpers/print.test.mjs +62 -62
  121. package/tests/helpers/print_type.test.mjs +62 -62
  122. package/tests/helpers/settype.test.mjs +34 -34
  123. package/tests/helpers/to_array.test.mjs +38 -38
  124. package/tests/helpers/to_assoc.test.mjs +33 -33
  125. package/tests/helpers/to_bool.test.mjs +51 -51
  126. package/tests/helpers/to_boolean.test.mjs +51 -51
  127. package/tests/helpers/to_float.test.mjs +26 -26
  128. package/tests/helpers/to_int.test.mjs +48 -48
  129. package/tests/helpers/to_integer.test.mjs +48 -48
  130. package/tests/helpers/to_list.test.mjs +32 -32
  131. package/tests/helpers/to_object.test.mjs +36 -36
  132. package/tests/helpers/to_string.test.mjs +71 -71
  133. package/tests/helpers/value.test.mjs +68 -0
@@ -0,0 +1,68 @@
1
+ [Главная](../../../README.md) / [Классы](../../classes.md) / [Value](../Value.md) / isObject
2
+
3
+ [Исходный код](../../../src/classes/Value.mjs)
4
+
5
+ # Value.isObject
6
+
7
+ `Value.isObject` — Проверяет, является ли значение объектом.
8
+
9
+ ## Сигнатура метода
10
+
11
+ ```ts
12
+ isObject(): boolean;
13
+ ```
14
+
15
+ ## Описание
16
+
17
+ Метод `isObject` используется для проверки, является ли значение, хранящееся в экземпляре класса
18
+ `Value`, объектом. Метод использует оператор `typeof` для проверки типа значения и убеждается, что
19
+ значение не является `null`.
20
+
21
+ Метод использует функцию `is_object` для выполнения проверки.
22
+
23
+ ## Возвращаемое значение
24
+
25
+ Возвращает `true`, если значение является объектом, и `false` в противном случае.
26
+
27
+ ## Примеры использования
28
+
29
+ 1. Проверка объектов:
30
+
31
+ ```js
32
+ const valueInstance = new Value({});
33
+ const result = valueInstance.isObject();
34
+ // Результат: true
35
+
36
+ const valueInstance2 = new Value({ key: 'value' });
37
+ const result2 = valueInstance2.isObject();
38
+ // Результат: true
39
+ ```
40
+
41
+ 2. Проверка значений других типов:
42
+
43
+ ```js
44
+ const valueInstance = new Value(42);
45
+ const result = valueInstance.isObject();
46
+ // Результат: false (число)
47
+
48
+ const valueInstance2 = new Value('string');
49
+ const result2 = valueInstance2.isObject();
50
+ // Результат: false (строка)
51
+
52
+ const valueInstance3 = new Value(null);
53
+ const result3 = valueInstance3.isObject();
54
+ // Результат: false
55
+
56
+ const valueInstance4 = new Value(undefined);
57
+ const result4 = valueInstance4.isObject();
58
+ // Результат: false
59
+
60
+ const valueInstance5 = new Value([]);
61
+ const result5 = valueInstance5.isObject();
62
+ // Результат: false (массив)
63
+
64
+ const valueInstance6 = new Value(() => {});
65
+ const result6 = valueInstance6.isObject();
66
+ // Результат: false (функция)
67
+ ```
68
+
@@ -0,0 +1,72 @@
1
+ [Главная](../../../README.md) / [Классы](../../classes.md) / [Value](../Value.md) / isScalar
2
+
3
+ [Исходный код](../../../src/classes/Value.mjs)
4
+
5
+ # Value.isScalar
6
+
7
+ `Value.isScalar` — Проверяет, является ли значение скалярным.
8
+
9
+ ## Сигнатура метода
10
+
11
+ ```ts
12
+ isScalar(): boolean;
13
+ ```
14
+
15
+ ## Описание
16
+
17
+ Метод `isScalar` используется для проверки, является ли значение, хранящееся в экземпляре класса
18
+ `Value`, скалярным. Скалярные переменные — это переменные, содержащие `int`, `float`, `string`,
19
+ `bool` и `symbol`. Типы `array`, `object`, `null`, `undefined` — не скалярные.
20
+
21
+ Метод использует функцию `is_scalar` для выполнения проверки.
22
+
23
+ ## Возвращаемое значение
24
+
25
+ Возвращает `true`, если значение является скалярным, и `false` в противном случае.
26
+
27
+ ## Примеры использования
28
+
29
+ 1. Проверка скалярных значений:
30
+
31
+ ```js
32
+ const valueInstance1 = new Value(true);
33
+ const result1 = valueInstance1.isScalar();
34
+ // Результат: true
35
+
36
+ const valueInstance2 = new Value(42);
37
+ const result2 = valueInstance2.isScalar();
38
+ // Результат: true
39
+
40
+ const valueInstance3 = new Value('hello');
41
+ const result3 = valueInstance3.isScalar();
42
+ // Результат: true
43
+
44
+ const valueInstance4 = new Value(Symbol('symbol'));
45
+ const result4 = valueInstance4.isScalar();
46
+ // Результат: true
47
+ ```
48
+
49
+ 2. Проверка не скалярных значений:
50
+
51
+ ```js
52
+ const valueInstance1 = new Value(null);
53
+ const result1 = valueInstance1.isScalar();
54
+ // Результат: false
55
+
56
+ const valueInstance2 = new Value(undefined);
57
+ const result2 = valueInstance2.isScalar();
58
+ // Результат: false
59
+
60
+ const valueInstance3 = new Value({});
61
+ const result3 = valueInstance3.isScalar();
62
+ // Результат: false
63
+
64
+ const valueInstance4 = new Value([]);
65
+ const result4 = valueInstance4.isScalar();
66
+ // Результат: false
67
+
68
+ const valueInstance5 = new Value(() => {});
69
+ const result5 = valueInstance5.isScalar();
70
+ // Результат: false
71
+ ```
72
+
@@ -0,0 +1,67 @@
1
+ [Главная](../../../README.md) / [Классы](../../classes.md) / [Value](../Value.md) / isString
2
+
3
+ [Исходный код](../../../src/classes/Value.mjs)
4
+
5
+ # Value.isString
6
+
7
+ `Value.isString` — Проверяет, является ли значение строкой.
8
+
9
+ ## Сигнатура метода
10
+
11
+ ```ts
12
+ isString(): boolean;
13
+ ```
14
+
15
+ ## Описание
16
+
17
+ Метод `isString` используется для проверки, является ли значение, хранящееся в экземпляре класса
18
+ `Value`, строкой. Метод использует оператор `typeof` для проверки типа значения.
19
+
20
+ Метод использует функцию `is_string` для выполнения проверки.
21
+
22
+ ## Возвращаемое значение
23
+
24
+ Возвращает `true`, если значение является строкой, и `false` в противном случае.
25
+
26
+ ## Примеры использования
27
+
28
+ 1. Проверка строковых значений:
29
+
30
+ ```js
31
+ const valueInstance = new Value('hello');
32
+ const result = valueInstance.isString();
33
+ // Результат: true
34
+
35
+ const valueInstance2 = new Value('');
36
+ const result2 = valueInstance2.isString();
37
+ // Результат: true
38
+ ```
39
+
40
+ 2. Проверка значений других типов:
41
+
42
+ ```js
43
+ const valueInstance = new Value(42);
44
+ const result = valueInstance.isString();
45
+ // Результат: false (число)
46
+
47
+ const valueInstance2 = new Value(true);
48
+ const result2 = valueInstance2.isString();
49
+ // Результат: false (логическое значение)
50
+
51
+ const valueInstance3 = new Value(null);
52
+ const result3 = valueInstance3.isString();
53
+ // Результат: false
54
+
55
+ const valueInstance4 = new Value(undefined);
56
+ const result4 = valueInstance4.isString();
57
+ // Результат: false
58
+
59
+ const valueInstance5 = new Value({});
60
+ const result5 = valueInstance5.isString();
61
+ // Результат: false (объект)
62
+
63
+ const valueInstance6 = new Value([]);
64
+ const result6 = valueInstance6.isString();
65
+ // Результат: false (массив)
66
+ ```
67
+
@@ -0,0 +1,75 @@
1
+ [Главная](../../../README.md) / [Классы](../../classes.md) / [Value](../Value.md) / isSymbol
2
+
3
+ [Исходный код](../../../src/classes/Value.mjs)
4
+
5
+ # Value.isSymbol
6
+
7
+ `Value.isSymbol` — Проверяет, является ли значение символом.
8
+
9
+ ## Сигнатура метода
10
+
11
+ ```ts
12
+ isSymbol(): boolean;
13
+ ```
14
+
15
+ ## Описание
16
+
17
+ Метод `isSymbol` используется для проверки, является ли значение, хранящееся в экземпляре класса
18
+ `Value`, символом. Метод использует оператор `typeof` для проверки типа значения.
19
+
20
+ Метод использует функцию `is_symbol` для выполнения проверки.
21
+
22
+ ## Возвращаемое значение
23
+
24
+ Возвращает `true`, если значение является символом, и `false` в противном случае.
25
+
26
+ ## Примеры использования
27
+
28
+ 1. Проверка символов:
29
+
30
+ ```js
31
+ const valueInstance = new Value(Symbol('symbol'));
32
+ const result = valueInstance.isSymbol();
33
+ // Результат: true
34
+
35
+ const valueInstance2 = new Value(Symbol.iterator);
36
+ const result2 = valueInstance2.isSymbol();
37
+ // Результат: true
38
+ ```
39
+
40
+ 2. Проверка значений других типов:
41
+
42
+ ```js
43
+ const valueInstance = new Value('hello');
44
+ const result = valueInstance.isSymbol();
45
+ // Результат: false (строка)
46
+
47
+ const valueInstance2 = new Value(42);
48
+ const result2 = valueInstance2.isSymbol();
49
+ // Результат: false (число)
50
+
51
+ const valueInstance3 = new Value(true);
52
+ const result3 = valueInstance3.isSymbol();
53
+ // Результат: false (логическое значение)
54
+
55
+ const valueInstance4 = new Value(null);
56
+ const result4 = valueInstance4.isSymbol();
57
+ // Результат: false
58
+
59
+ const valueInstance5 = new Value(undefined);
60
+ const result5 = valueInstance5.isSymbol();
61
+ // Результат: false
62
+
63
+ const valueInstance6 = new Value({});
64
+ const result6 = valueInstance6.isSymbol();
65
+ // Результат: false (объект)
66
+
67
+ const valueInstance7 = new Value([]);
68
+ const result7 = valueInstance7.isSymbol();
69
+ // Результат: false (массив)
70
+
71
+ const valueInstance8 = new Value(() => {});
72
+ const result8 = valueInstance8.isSymbol();
73
+ // Результат: false (функция)
74
+ ```
75
+
@@ -0,0 +1,67 @@
1
+ [Главная](../../../README.md) / [Классы](../../classes.md) / [Value](../Value.md) / isUndefined
2
+
3
+ [Исходный код](../../../src/classes/Value.mjs)
4
+
5
+ # Value.isUndefined
6
+
7
+ `Value.isUndefined` — Проверяет, является ли значение `undefined`.
8
+
9
+ ## Сигнатура метода
10
+
11
+ ```ts
12
+ isUndefined(): boolean;
13
+ ```
14
+
15
+ ## Описание
16
+
17
+ Метод `isUndefined` используется для проверки, является ли значение, хранящееся в экземпляре класса
18
+ `Value`, `undefined`. Метод использует оператор `typeof` для проверки типа значения.
19
+
20
+ Метод использует функцию `is_undefined` для выполнения проверки.
21
+
22
+ ## Возвращаемое значение
23
+
24
+ Возвращает `true`, если значение является `undefined`, и `false` в противном случае.
25
+
26
+ ## Примеры использования
27
+
28
+ 1. Проверка значения `undefined`:
29
+
30
+ ```js
31
+ const valueInstance = new Value(undefined);
32
+ const result = valueInstance.isUndefined();
33
+ // Результат: true
34
+ ```
35
+
36
+ 2. Проверка значений других типов:
37
+
38
+ ```js
39
+ const valueInstance = new Value(null);
40
+ const result = valueInstance.isUndefined();
41
+ // Результат: false
42
+
43
+ const valueInstance2 = new Value(42);
44
+ const result2 = valueInstance2.isUndefined();
45
+ // Результат: false (число)
46
+
47
+ const valueInstance3 = new Value('hello');
48
+ const result3 = valueInstance3.isUndefined();
49
+ // Результат: false (строка)
50
+
51
+ const valueInstance4 = new Value(true);
52
+ const result4 = valueInstance4.isUndefined();
53
+ // Результат: false (логическое значение)
54
+
55
+ const valueInstance5 = new Value({});
56
+ const result5 = valueInstance5.isUndefined();
57
+ // Результат: false (объект)
58
+
59
+ const valueInstance6 = new Value([]);
60
+ const result6 = valueInstance6.isUndefined();
61
+ // Результат: false (массив)
62
+
63
+ const valueInstance7 = new Value(() => {});
64
+ const result7 = valueInstance7.isUndefined();
65
+ // Результат: false (функция)
66
+ ```
67
+
@@ -0,0 +1,164 @@
1
+ [Главная](../../../README.md) / [Классы](../../classes.md) / [Value](../Value.md) / print
2
+
3
+ [Исходный код](../../../src/classes/Value.mjs)
4
+
5
+ # Value.print
6
+
7
+ `Value.print` — Преобразует значение переменной в строку и выводит его на консоль.
8
+
9
+ ## Сигнатура метода
10
+
11
+ ```ts
12
+ print(): Value;
13
+ ```
14
+
15
+ ## Описание
16
+
17
+ Метод `print` используется для преобразования значения, хранящегося в экземпляре класса `Value`, в
18
+ строку и вывода его на консоль. Он обрабатывает массивы, объекты, классы, функции, символы и другие
19
+ типы данных, возвращая их строковое представление.
20
+
21
+ Метод использует функцию `print` для выполнения преобразования и вывода значения на консоль.
22
+
23
+ ## Возвращаемое значение
24
+
25
+ Возвращает текущий экземпляр класса `Value`.
26
+
27
+ ## Примеры использования
28
+
29
+ 1. Преобразование строки:
30
+
31
+ ```js
32
+ const valueInstance = new Value('example');
33
+ valueInstance.print();
34
+ ```
35
+
36
+ Вывод:
37
+
38
+ ```txt
39
+ "example"
40
+ ```
41
+
42
+ 2. Преобразование числа:
43
+
44
+ ```js
45
+ const valueInstance = new Value(123);
46
+ valueInstance.print();
47
+ ```
48
+
49
+ Вывод:
50
+
51
+ ```txt
52
+ 123
53
+ ```
54
+
55
+ 3. Преобразование булевых значений:
56
+
57
+ ```js
58
+ const valueInstance = new Value(true);
59
+ valueInstance.print();
60
+ ```
61
+
62
+ Вывод:
63
+
64
+ ```txt
65
+ true
66
+ ```
67
+
68
+ ```js
69
+ const valueInstance = new Value(false);
70
+ valueInstance.print();
71
+ ```
72
+
73
+ Вывод:
74
+
75
+ ```txt
76
+ false
77
+ ```
78
+
79
+ 4. Преобразование null и undefined:
80
+
81
+ ```js
82
+ const valueInstance = new Value(null);
83
+ valueInstance.print();
84
+ ```
85
+
86
+ Вывод:
87
+
88
+ ```txt
89
+ null
90
+ ```
91
+
92
+ ```js
93
+ const valueInstance = new Value(undefined);
94
+ valueInstance.print();
95
+ ```
96
+
97
+ Вывод:
98
+
99
+ ```txt
100
+ undefined
101
+ ```
102
+
103
+ 5. Преобразование массива:
104
+
105
+ ```js
106
+ const arr = [1, 2, 3];
107
+ const valueInstance = new Value(arr);
108
+ valueInstance.print();
109
+ ```
110
+
111
+ Вывод:
112
+
113
+ ```txt
114
+ [
115
+ 0: 1,
116
+ 1: 2,
117
+ 2: 3,
118
+ ]
119
+ ```
120
+
121
+ 6. Преобразование ассоциативного массива:
122
+
123
+ ```js
124
+ const obj = { key: 'value' };
125
+ const valueInstance = new Value(obj);
126
+ valueInstance.print();
127
+ ```
128
+
129
+ Вывод:
130
+
131
+ ```txt
132
+ {
133
+ key: "value",
134
+ }
135
+ ```
136
+
137
+ 7. Преобразование функции:
138
+
139
+ ```js
140
+ const func = function () {};
141
+ const valueInstance = new Value(func);
142
+ valueInstance.print();
143
+ ```
144
+
145
+ Вывод:
146
+
147
+ ```txt
148
+ function func() {}
149
+ ```
150
+
151
+ 8. Преобразование символа:
152
+
153
+ ```js
154
+ const symbol = Symbol('example');
155
+ const valueInstance = new Value(symbol);
156
+ valueInstance.print();
157
+ ```
158
+
159
+ Вывод:
160
+
161
+ ```txt
162
+ Symbol(example)
163
+ ```
164
+
@@ -0,0 +1,158 @@
1
+ [Главная](../../../README.md) / [Классы](../../classes.md) / [Value](../Value.md) / printType
2
+
3
+ [Исходный код](../../../src/classes/Value.mjs)
4
+
5
+ # Value.printType
6
+
7
+ `Value.printType` — Преобразует тип значения переменной в строку и выводит его на консоль.
8
+
9
+ ## Сигнатура метода
10
+
11
+ ```ts
12
+ printType(): Value;
13
+ ```
14
+
15
+ ## Описание
16
+
17
+ Метод `printType` используется для преобразования типа значения, хранящегося в экземпляре класса
18
+ `Value`, в строку и вывода его на консоль. Он обрабатывает массивы, объекты, классы, функции,
19
+ символы и другие типы данных, возвращая их строковое представление.
20
+
21
+ Метод использует функцию `print_type` для выполнения преобразования и вывода значения на консоль.
22
+
23
+ ## Возвращаемое значение
24
+
25
+ Возвращает текущий экземпляр класса `Value`.
26
+
27
+ ## Примеры использования
28
+
29
+ 1. Преобразование строки:
30
+
31
+ ```js
32
+ const valueInstance = new Value('example');
33
+ valueInstance.printType();
34
+ ```
35
+
36
+ Вывод:
37
+
38
+ ```txt
39
+ "string"
40
+ ```
41
+
42
+ 2. Преобразование числа:
43
+
44
+ ```js
45
+ const valueInstance = new Value(123);
46
+ valueInstance.printType();
47
+ ```
48
+
49
+ Вывод:
50
+
51
+ ```txt
52
+ "integer"
53
+ ```
54
+
55
+ 3. Преобразование булевых значений:
56
+
57
+ ```js
58
+ const valueInstance = new Value(true);
59
+ valueInstance.printType();
60
+ ```
61
+
62
+ Вывод:
63
+
64
+ ```txt
65
+ "boolean"
66
+ ```
67
+
68
+ ```js
69
+ const valueInstance = new Value(false);
70
+ valueInstance.printType();
71
+ ```
72
+
73
+ Вывод:
74
+
75
+ ```txt
76
+ "boolean"
77
+ ```
78
+
79
+ 4. Преобразование null и undefined:
80
+
81
+ ```js
82
+ const valueInstance = new Value(null);
83
+ valueInstance.printType();
84
+ ```
85
+
86
+ Вывод:
87
+
88
+ ```txt
89
+ "null"
90
+ ```
91
+
92
+ ```js
93
+ const valueInstance = new Value(undefined);
94
+ valueInstance.printType();
95
+ ```
96
+
97
+ Вывод:
98
+
99
+ ```txt
100
+ "undefined"
101
+ ```
102
+
103
+ 5. Преобразование массива:
104
+
105
+ ```js
106
+ const arr = [1, 2, 3];
107
+ const valueInstance = new Value(arr);
108
+ valueInstance.printType();
109
+ ```
110
+
111
+ Вывод:
112
+
113
+ ```txt
114
+ "array"
115
+ ```
116
+
117
+ 6. Преобразование ассоциативного массива:
118
+
119
+ ```js
120
+ const obj = { key: 'value' };
121
+ const valueInstance = new Value(obj);
122
+ valueInstance.printType();
123
+ ```
124
+
125
+ Вывод:
126
+
127
+ ```txt
128
+ "object"
129
+ ```
130
+
131
+ 7. Преобразование функции:
132
+
133
+ ```js
134
+ const func = function () {};
135
+ const valueInstance = new Value(func);
136
+ valueInstance.printType();
137
+ ```
138
+
139
+ Вывод:
140
+
141
+ ```txt
142
+ "function"
143
+ ```
144
+
145
+ 8. Преобразование символа:
146
+
147
+ ```js
148
+ const symbol = Symbol('example');
149
+ const valueInstance = new Value(symbol);
150
+ valueInstance.printType();
151
+ ```
152
+
153
+ Вывод:
154
+
155
+ ```txt
156
+ "symbol"
157
+ ```
158
+