@rogolev/value 0.0.1 → 0.0.2

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.
Files changed (176) hide show
  1. package/.prettierignore +4 -4
  2. package/CHANGELOG.md +68 -56
  3. package/LICENSE +41 -41
  4. package/README.md +100 -91
  5. package/babel.config.json +20 -20
  6. package/docs/classes/Convert/toArray.md +100 -0
  7. package/docs/classes/Convert/toAssoc.md +90 -0
  8. package/docs/classes/Convert/toBool.md +72 -0
  9. package/docs/classes/Convert/toBoolean.md +72 -0
  10. package/docs/classes/Convert/toFloat.md +69 -0
  11. package/docs/classes/Convert/toInt.md +86 -0
  12. package/docs/classes/Convert/toInteger.md +86 -0
  13. package/docs/classes/Convert/toList.md +73 -0
  14. package/docs/classes/Convert/toObject.md +76 -0
  15. package/docs/classes/Convert/toString.md +125 -0
  16. package/docs/classes/Convert.md +44 -0
  17. package/docs/classes/Type/isArray.md +106 -0
  18. package/docs/classes/Type/isAssoc.md +57 -0
  19. package/docs/classes/Type/isBigInt.md +49 -0
  20. package/docs/classes/Type/isBool.md +51 -0
  21. package/docs/classes/Type/isBoolean.md +51 -0
  22. package/docs/classes/Type/isClass.md +60 -0
  23. package/docs/classes/Type/isEmpty.md +53 -0
  24. package/docs/classes/Type/isFloat.md +77 -0
  25. package/docs/classes/Type/isFunction.md +64 -0
  26. package/docs/classes/Type/isInfinity.md +59 -0
  27. package/docs/classes/Type/isInt.md +77 -0
  28. package/docs/classes/Type/isInteger.md +77 -0
  29. package/docs/classes/Type/isList.md +49 -0
  30. package/docs/classes/Type/isNaN.md +57 -0
  31. package/docs/classes/Type/isNull.md +49 -0
  32. package/docs/classes/Type/isNumber.md +60 -0
  33. package/docs/classes/Type/isNumeric.md +58 -0
  34. package/docs/classes/Type/isObject.md +53 -0
  35. package/docs/classes/Type/isScalar.md +54 -0
  36. package/docs/classes/Type/isString.md +54 -0
  37. package/docs/classes/Type/isSymbol.md +56 -0
  38. package/docs/classes/Type/isUndefined.md +52 -0
  39. package/docs/classes/Type.md +74 -0
  40. package/docs/classes.md +9 -0
  41. package/docs/helpers/array.md +80 -80
  42. package/docs/helpers/empty.md +77 -77
  43. package/docs/helpers/gettype.md +69 -69
  44. package/docs/helpers/is_array.md +105 -105
  45. package/docs/helpers/is_assoc.md +59 -59
  46. package/docs/helpers/is_bigint.md +57 -57
  47. package/docs/helpers/is_bool.md +50 -50
  48. package/docs/helpers/is_boolean.md +50 -50
  49. package/docs/helpers/is_class.md +73 -73
  50. package/docs/helpers/is_float.md +71 -71
  51. package/docs/helpers/is_function.md +62 -62
  52. package/docs/helpers/is_infinity.md +61 -61
  53. package/docs/helpers/is_int.md +81 -81
  54. package/docs/helpers/is_integer.md +82 -82
  55. package/docs/helpers/is_list.md +51 -51
  56. package/docs/helpers/is_nan.md +59 -59
  57. package/docs/helpers/is_null.md +49 -49
  58. package/docs/helpers/is_number.md +67 -67
  59. package/docs/helpers/is_numeric.md +76 -76
  60. package/docs/helpers/is_object.md +69 -69
  61. package/docs/helpers/is_scalar.md +60 -60
  62. package/docs/helpers/is_string.md +58 -58
  63. package/docs/helpers/is_symbol.md +58 -58
  64. package/docs/helpers/is_undefined.md +56 -56
  65. package/docs/helpers/print.md +187 -187
  66. package/docs/helpers/print_type.md +225 -225
  67. package/docs/helpers/settype.md +78 -78
  68. package/docs/helpers/to_array.md +106 -106
  69. package/docs/helpers/to_assoc.md +91 -91
  70. package/docs/helpers/to_bool.md +76 -76
  71. package/docs/helpers/to_boolean.md +77 -77
  72. package/docs/helpers/to_float.md +70 -70
  73. package/docs/helpers/to_int.md +87 -87
  74. package/docs/helpers/to_integer.md +87 -87
  75. package/docs/helpers/to_list.md +47 -47
  76. package/docs/helpers/to_object.md +76 -76
  77. package/docs/helpers/to_string.md +134 -134
  78. package/docs/helpers.md +51 -51
  79. package/docs/types/NaN.md +30 -30
  80. package/docs/types/array.md +252 -252
  81. package/docs/types/bigint.md +34 -34
  82. package/docs/types/boolean.md +47 -47
  83. package/docs/types/class.md +36 -36
  84. package/docs/types/float.md +35 -35
  85. package/docs/types/function.md +121 -121
  86. package/docs/types/infinity.md +32 -32
  87. package/docs/types/integer.md +35 -35
  88. package/docs/types/null.md +23 -23
  89. package/docs/types/object.md +62 -62
  90. package/docs/types/string.md +33 -33
  91. package/docs/types/symbol.md +29 -29
  92. package/docs/types/undefined.md +25 -25
  93. package/docs/types.md +44 -44
  94. package/eslint.config.mjs +1664 -1664
  95. package/index.mjs +40 -37
  96. package/jest.config.mjs +31 -31
  97. package/package.json +48 -47
  98. package/prettier.config.mjs +224 -224
  99. package/src/classes/Convert.mjs +819 -0
  100. package/src/classes/Type.mjs +1285 -0
  101. package/src/helpers/array.mjs +107 -107
  102. package/src/helpers/empty.mjs +70 -70
  103. package/src/helpers/gettype.mjs +133 -133
  104. package/src/helpers/is_array.mjs +128 -128
  105. package/src/helpers/is_assoc.mjs +51 -51
  106. package/src/helpers/is_bigint.mjs +47 -47
  107. package/src/helpers/is_bool.mjs +43 -43
  108. package/src/helpers/is_boolean.mjs +43 -43
  109. package/src/helpers/is_class.mjs +87 -87
  110. package/src/helpers/is_float.mjs +67 -67
  111. package/src/helpers/is_function.mjs +74 -74
  112. package/src/helpers/is_infinity.mjs +52 -52
  113. package/src/helpers/is_int.mjs +57 -57
  114. package/src/helpers/is_integer.mjs +74 -74
  115. package/src/helpers/is_list.mjs +43 -43
  116. package/src/helpers/is_nan.mjs +51 -51
  117. package/src/helpers/is_null.mjs +37 -37
  118. package/src/helpers/is_number.mjs +49 -49
  119. package/src/helpers/is_numeric.mjs +64 -64
  120. package/src/helpers/is_object.mjs +72 -72
  121. package/src/helpers/is_scalar.mjs +45 -45
  122. package/src/helpers/is_string.mjs +46 -46
  123. package/src/helpers/is_symbol.mjs +46 -46
  124. package/src/helpers/is_undefined.mjs +44 -44
  125. package/src/helpers/print.mjs +245 -245
  126. package/src/helpers/print_type.mjs +261 -261
  127. package/src/helpers/settype.mjs +101 -101
  128. package/src/helpers/to_array.mjs +118 -118
  129. package/src/helpers/to_assoc.mjs +98 -98
  130. package/src/helpers/to_bool.mjs +68 -68
  131. package/src/helpers/to_boolean.mjs +64 -64
  132. package/src/helpers/to_float.mjs +72 -72
  133. package/src/helpers/to_int.mjs +93 -93
  134. package/src/helpers/to_integer.mjs +81 -81
  135. package/src/helpers/to_list.mjs +56 -56
  136. package/src/helpers/to_object.mjs +94 -94
  137. package/src/helpers/to_string.mjs +157 -157
  138. package/tests/classes/Convert.test.mjs +399 -0
  139. package/tests/classes/Type.test.mjs +1263 -0
  140. package/tests/helpers/array.test.mjs +58 -58
  141. package/tests/helpers/empty.test.mjs +22 -22
  142. package/tests/helpers/gettype.test.mjs +74 -74
  143. package/tests/helpers/is_array.test.mjs +404 -404
  144. package/tests/helpers/is_assoc.test.mjs +42 -42
  145. package/tests/helpers/is_bigint.test.mjs +51 -51
  146. package/tests/helpers/is_bool.test.mjs +43 -43
  147. package/tests/helpers/is_boolean.test.mjs +43 -43
  148. package/tests/helpers/is_class.test.mjs +84 -84
  149. package/tests/helpers/is_float.test.mjs +87 -87
  150. package/tests/helpers/is_function.test.mjs +83 -83
  151. package/tests/helpers/is_infinity.test.mjs +46 -46
  152. package/tests/helpers/is_int.test.mjs +45 -45
  153. package/tests/helpers/is_integer.test.mjs +64 -64
  154. package/tests/helpers/is_list.test.mjs +42 -42
  155. package/tests/helpers/is_nan.test.mjs +43 -43
  156. package/tests/helpers/is_null.test.mjs +17 -17
  157. package/tests/helpers/is_number.test.mjs +25 -25
  158. package/tests/helpers/is_numeric.test.mjs +30 -30
  159. package/tests/helpers/is_object.test.mjs +52 -52
  160. package/tests/helpers/is_scalar.test.mjs +21 -21
  161. package/tests/helpers/is_string.test.mjs +20 -20
  162. package/tests/helpers/is_symbol.test.mjs +20 -20
  163. package/tests/helpers/is_undefined.test.mjs +18 -18
  164. package/tests/helpers/print.test.mjs +62 -62
  165. package/tests/helpers/print_type.test.mjs +62 -62
  166. package/tests/helpers/settype.test.mjs +34 -34
  167. package/tests/helpers/to_array.test.mjs +38 -38
  168. package/tests/helpers/to_assoc.test.mjs +33 -33
  169. package/tests/helpers/to_bool.test.mjs +51 -51
  170. package/tests/helpers/to_boolean.test.mjs +51 -51
  171. package/tests/helpers/to_float.test.mjs +26 -26
  172. package/tests/helpers/to_int.test.mjs +48 -48
  173. package/tests/helpers/to_integer.test.mjs +48 -48
  174. package/tests/helpers/to_list.test.mjs +32 -32
  175. package/tests/helpers/to_object.test.mjs +36 -36
  176. package/tests/helpers/to_string.test.mjs +71 -71
@@ -1,47 +1,47 @@
1
- [Главная](../../README.md) / [Типы данных](../types.md) / Логическое значение
2
-
3
- # Логическое значение
4
-
5
- ## Логическое значение в JavaScript
6
-
7
- **Булево (логическое) значение** — примитивный тип данных в информатике, который может
8
- принимать два возможных значения, иногда называемых истиной (`true`) и ложью (`false`).
9
-
10
- [Подробнее...](https://developer.mozilla.org/ru/docs/Glossary/Boolean)
11
-
12
- ## Логическое значение в value.js
13
-
14
- Библиотека не вносит ни каких изменений в определение логического типа.
15
-
16
- ### Проверка типа
17
-
18
- Проверить, что переменная имеет логический тип можно с помощью функции
19
- [is_bool](../helpers/is_bool.md) и [is_boolean](../helpers/is_boolean.md).
20
-
21
- ```js
22
- is_bool(true); // true
23
- is_boolean(false); // true
24
- ```
25
-
26
- ### Привидение к типу
27
-
28
- Привести к логическому типу можно с помощью функции `to_bool` и `to_boolean`.
29
-
30
- ```js
31
- to_bool(1); // true
32
- to_boolean(0); // false
33
- ```
34
-
35
- ### Примеры использования
36
-
37
- #### Пример 1
38
-
39
- ```js
40
- is_bool(true); // true
41
- is_boolean(false); // true
42
-
43
- gettype(true); // "boolean"
44
-
45
- to_bool(1); // true
46
- to_boolean(0); // false
47
- ```
1
+ [Главная](../../README.md) / [Типы данных](../types.md) / Логическое значение
2
+
3
+ # Логическое значение
4
+
5
+ ## Логическое значение в JavaScript
6
+
7
+ **Булево (логическое) значение** — примитивный тип данных в информатике, который может
8
+ принимать два возможных значения, иногда называемых истиной (`true`) и ложью (`false`).
9
+
10
+ [Подробнее...](https://developer.mozilla.org/ru/docs/Glossary/Boolean)
11
+
12
+ ## Логическое значение в value.js
13
+
14
+ Библиотека не вносит ни каких изменений в определение логического типа.
15
+
16
+ ### Проверка типа
17
+
18
+ Проверить, что переменная имеет логический тип можно с помощью функции
19
+ [is_bool](../helpers/is_bool.md) и [is_boolean](../helpers/is_boolean.md).
20
+
21
+ ```js
22
+ is_bool(true); // true
23
+ is_boolean(false); // true
24
+ ```
25
+
26
+ ### Привидение к типу
27
+
28
+ Привести к логическому типу можно с помощью функции `to_bool` и `to_boolean`.
29
+
30
+ ```js
31
+ to_bool(1); // true
32
+ to_boolean(0); // false
33
+ ```
34
+
35
+ ### Примеры использования
36
+
37
+ #### Пример 1
38
+
39
+ ```js
40
+ is_bool(true); // true
41
+ is_boolean(false); // true
42
+
43
+ gettype(true); // "boolean"
44
+
45
+ to_bool(1); // true
46
+ to_boolean(0); // false
47
+ ```
@@ -1,36 +1,36 @@
1
- [Главная](../../README.md) / [Типы данных](../types.md) / Класс
2
-
3
- # Класс
4
-
5
- ## Класс в JavaScript
6
-
7
- Классы в **JavaScript** были введены в **ECMAScript 2015** и представляют собой синтаксический сахар
8
- над существующим в **JavaScript** механизмом прототипного наследования. Синтаксис классов не вводит
9
- новую объектно-ориентированную модель, а предоставляет более простой и понятный способ создания
10
- объектов и организации наследования.
11
-
12
- На самом деле <u>**классы**</u> &mdash; это <u>"специальные функции"</u>, поэтому точно также, как
13
- вы определяете функции, вы можете определять и классы.
14
-
15
- [Подробнее...](https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Classes)
16
-
17
- ## Класс в value.js
18
-
19
- Библиотека не вносит ни каких изменений в определение класса, а лишь выделяет его как отдельный тип
20
- (`class`), отличая его от функции.
21
-
22
- ### Проверка типа
23
-
24
- Проверить, является ли переменная классом, можно с помощью функции
25
- [is_class](../helpers/is_class.md).
26
-
27
- ```js
28
- class stdClass {}
29
- function Func() {}
30
-
31
- is_class(stdClass); // true
32
- is_class(class {}); // true
33
- is_class(Func); // false
34
-
35
- gettype(stdClass); // "class"
36
- ```
1
+ [Главная](../../README.md) / [Типы данных](../types.md) / Класс
2
+
3
+ # Класс
4
+
5
+ ## Класс в JavaScript
6
+
7
+ Классы в **JavaScript** были введены в **ECMAScript 2015** и представляют собой синтаксический сахар
8
+ над существующим в **JavaScript** механизмом прототипного наследования. Синтаксис классов не вводит
9
+ новую объектно-ориентированную модель, а предоставляет более простой и понятный способ создания
10
+ объектов и организации наследования.
11
+
12
+ На самом деле <u>**классы**</u> &mdash; это <u>"специальные функции"</u>, поэтому точно также, как
13
+ вы определяете функции, вы можете определять и классы.
14
+
15
+ [Подробнее...](https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Classes)
16
+
17
+ ## Класс в value.js
18
+
19
+ Библиотека не вносит ни каких изменений в определение класса, а лишь выделяет его как отдельный тип
20
+ (`class`), отличая его от функции.
21
+
22
+ ### Проверка типа
23
+
24
+ Проверить, является ли переменная классом, можно с помощью функции
25
+ [is_class](../helpers/is_class.md).
26
+
27
+ ```js
28
+ class stdClass {}
29
+ function Func() {}
30
+
31
+ is_class(stdClass); // true
32
+ is_class(class {}); // true
33
+ is_class(Func); // false
34
+
35
+ gettype(stdClass); // "class"
36
+ ```
@@ -1,35 +1,35 @@
1
- [Главная](../../README.md) / [Типы данных](../types.md) / Число с плавающей точкой
2
-
3
- # Число с плавающей точкой
4
-
5
- ## Число с плавающей точкой в JavaScript
6
-
7
- В **JavaScript** нет отдельного типа для чисел с плавающей точкой. Они являются частью типа
8
- `number`, включающего как целые числа, так и числа с плавающей точкой.
9
-
10
- [Подробнее...](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number)
11
-
12
- ## Число с плавающей точкой в value.js
13
-
14
- Библиотека **value.js** упраздняет тип `number` и разбивает его на два новых типа: `integer` и
15
- `float`.
16
-
17
- ### Проверка типа
18
-
19
- Проверить, является ли значение числом с плавающей точкой, можно с помощью функции
20
- [is_float](../helpers/is_float.md).
21
-
22
- ```js
23
- is_float(3.14); // true
24
- is_float(3); // false
25
-
26
- gettype(3.14); // "float"
27
- ```
28
-
29
- ### Привидение к типу
30
-
31
- Привести значение к числу с плавающей точкой можно с помощью функции `to_float`.
32
-
33
- ```js
34
- to_float('3.14'); // 3.14
35
- ```
1
+ [Главная](../../README.md) / [Типы данных](../types.md) / Число с плавающей точкой
2
+
3
+ # Число с плавающей точкой
4
+
5
+ ## Число с плавающей точкой в JavaScript
6
+
7
+ В **JavaScript** нет отдельного типа для чисел с плавающей точкой. Они являются частью типа
8
+ `number`, включающего как целые числа, так и числа с плавающей точкой.
9
+
10
+ [Подробнее...](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number)
11
+
12
+ ## Число с плавающей точкой в value.js
13
+
14
+ Библиотека **value.js** упраздняет тип `number` и разбивает его на два новых типа: `integer` и
15
+ `float`.
16
+
17
+ ### Проверка типа
18
+
19
+ Проверить, является ли значение числом с плавающей точкой, можно с помощью функции
20
+ [is_float](../helpers/is_float.md).
21
+
22
+ ```js
23
+ is_float(3.14); // true
24
+ is_float(3); // false
25
+
26
+ gettype(3.14); // "float"
27
+ ```
28
+
29
+ ### Привидение к типу
30
+
31
+ Привести значение к числу с плавающей точкой можно с помощью функции `to_float`.
32
+
33
+ ```js
34
+ to_float('3.14'); // 3.14
35
+ ```
@@ -1,121 +1,121 @@
1
- [Главная](../../README.md) / [Типы данных](../types.md) / Функция
2
-
3
- # Функция
4
-
5
- ## Функция в JavaScript
6
-
7
- В общем случае, **функция** &mdash; это "подпрограмма", которую можно вызывать из внешнего (или
8
- внутреннего, в случае рекурсии) по отношению к функции кода.
9
-
10
- В **JavaScript** функции являются объектами первого класса, то есть: они являются объектами и с ними
11
- можно взаимодействовать и передавать их точно так же как любой другой объект. Если быть точным,
12
- функции &mdash; это объекты `Function`.
13
-
14
- [Подробнее...](https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Functions)
15
-
16
- ### Классы ES6
17
-
18
- Классы в **JavaScript** были введены в **ECMAScript 2015** и представляют собой синтаксический сахар
19
- над существующим в **JavaScript** механизмом прототипного наследования. Синтаксис классов не вводит
20
- новую объектно-ориентированную модель, а предоставляет более простой и понятный способ создания
21
- объектов и организации наследования.
22
-
23
- На самом деле <u>**классы**</u> &mdash; это <u>"специальные функции"</u>, поэтому точно также, как
24
- вы определяете функции, вы можете определять и классы.
25
-
26
- [Подробнее...](https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Classes)
27
-
28
- ## Функция в value.js
29
-
30
- Библиотека не вносит ни каких изменений в определение функции. Она лишь различает понятие функции и
31
- класса. Если в JavaScript класс &mdash; это функция по типу, то библиотека вводит новый тип для
32
- классов: `class`.
33
-
34
- ### Проверка типа
35
-
36
- Проверить, является ли переменная функцией можно с помощью функции
37
- [is_function](../helpers/is_function.md).
38
-
39
- ```js
40
- function func() {}
41
-
42
- is_function(func); // true
43
- is_function(function () {}); // true
44
- is_function(() => {}); // true
45
- ```
46
-
47
- ### Примеры использования
48
-
49
- #### Пример 1. Функция
50
-
51
- ```js
52
- function func() {}
53
-
54
- is_function(func); // true
55
- is_function(function () {}); // true
56
- is_function(() => {}); // true
57
-
58
- gettype(func); // "function"
59
- ```
60
-
61
- #### Пример 2. Класс
62
-
63
- ```js
64
- class stdClass {}
65
-
66
- is_function(stdClass); // false
67
- is_function(class {}); // false
68
-
69
- gettype(stdClass); // "class"
70
- ```
71
-
72
- ### Дополнительные примеры
73
-
74
- #### Пример 3. Асинхронная функция
75
-
76
- ```js
77
- async function asyncFunc() {}
78
-
79
- is_function(asyncFunc); // true
80
- gettype(asyncFunc); // "function"
81
- ```
82
-
83
- #### Пример 4. Генератор
84
-
85
- ```js
86
- function* generatorFunc() {}
87
-
88
- is_function(generatorFunc); // true
89
- gettype(generatorFunc); // "function"
90
- ```
91
-
92
- #### Пример 5. Асинхронный генератор
93
-
94
- ```js
95
- async function* asyncGeneratorFunc() {}
96
-
97
- is_function(asyncGeneratorFunc); // true
98
- gettype(asyncGeneratorFunc); // "function"
99
- ```
100
-
101
- #### Пример 6. Функция без строкового представления
102
-
103
- ```js
104
- const func = () => {};
105
- func.toString = undefined;
106
-
107
- is_function(func); // true
108
- gettype(func); // "function"
109
- ```
110
-
111
- ### Пример 7. Функция с методом toString
112
-
113
- ```js
114
- const func = () => {};
115
- func.toString = function () {
116
- return 'function';
117
- };
118
-
119
- is_function(func); // true
120
- gettype(func); // "function"
121
- ```
1
+ [Главная](../../README.md) / [Типы данных](../types.md) / Функция
2
+
3
+ # Функция
4
+
5
+ ## Функция в JavaScript
6
+
7
+ В общем случае, **функция** &mdash; это "подпрограмма", которую можно вызывать из внешнего (или
8
+ внутреннего, в случае рекурсии) по отношению к функции кода.
9
+
10
+ В **JavaScript** функции являются объектами первого класса, то есть: они являются объектами и с ними
11
+ можно взаимодействовать и передавать их точно так же как любой другой объект. Если быть точным,
12
+ функции &mdash; это объекты `Function`.
13
+
14
+ [Подробнее...](https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Functions)
15
+
16
+ ### Классы ES6
17
+
18
+ Классы в **JavaScript** были введены в **ECMAScript 2015** и представляют собой синтаксический сахар
19
+ над существующим в **JavaScript** механизмом прототипного наследования. Синтаксис классов не вводит
20
+ новую объектно-ориентированную модель, а предоставляет более простой и понятный способ создания
21
+ объектов и организации наследования.
22
+
23
+ На самом деле <u>**классы**</u> &mdash; это <u>"специальные функции"</u>, поэтому точно также, как
24
+ вы определяете функции, вы можете определять и классы.
25
+
26
+ [Подробнее...](https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Classes)
27
+
28
+ ## Функция в value.js
29
+
30
+ Библиотека не вносит ни каких изменений в определение функции. Она лишь различает понятие функции и
31
+ класса. Если в JavaScript класс &mdash; это функция по типу, то библиотека вводит новый тип для
32
+ классов: `class`.
33
+
34
+ ### Проверка типа
35
+
36
+ Проверить, является ли переменная функцией можно с помощью функции
37
+ [is_function](../helpers/is_function.md).
38
+
39
+ ```js
40
+ function func() {}
41
+
42
+ is_function(func); // true
43
+ is_function(function () {}); // true
44
+ is_function(() => {}); // true
45
+ ```
46
+
47
+ ### Примеры использования
48
+
49
+ #### Пример 1. Функция
50
+
51
+ ```js
52
+ function func() {}
53
+
54
+ is_function(func); // true
55
+ is_function(function () {}); // true
56
+ is_function(() => {}); // true
57
+
58
+ gettype(func); // "function"
59
+ ```
60
+
61
+ #### Пример 2. Класс
62
+
63
+ ```js
64
+ class stdClass {}
65
+
66
+ is_function(stdClass); // false
67
+ is_function(class {}); // false
68
+
69
+ gettype(stdClass); // "class"
70
+ ```
71
+
72
+ ### Дополнительные примеры
73
+
74
+ #### Пример 3. Асинхронная функция
75
+
76
+ ```js
77
+ async function asyncFunc() {}
78
+
79
+ is_function(asyncFunc); // true
80
+ gettype(asyncFunc); // "function"
81
+ ```
82
+
83
+ #### Пример 4. Генератор
84
+
85
+ ```js
86
+ function* generatorFunc() {}
87
+
88
+ is_function(generatorFunc); // true
89
+ gettype(generatorFunc); // "function"
90
+ ```
91
+
92
+ #### Пример 5. Асинхронный генератор
93
+
94
+ ```js
95
+ async function* asyncGeneratorFunc() {}
96
+
97
+ is_function(asyncGeneratorFunc); // true
98
+ gettype(asyncGeneratorFunc); // "function"
99
+ ```
100
+
101
+ #### Пример 6. Функция без строкового представления
102
+
103
+ ```js
104
+ const func = () => {};
105
+ func.toString = undefined;
106
+
107
+ is_function(func); // true
108
+ gettype(func); // "function"
109
+ ```
110
+
111
+ ### Пример 7. Функция с методом toString
112
+
113
+ ```js
114
+ const func = () => {};
115
+ func.toString = function () {
116
+ return 'function';
117
+ };
118
+
119
+ is_function(func); // true
120
+ gettype(func); // "function"
121
+ ```
@@ -1,32 +1,32 @@
1
- [Главная](../../README.md) / [Типы данных](../types.md) / Бесконечность
2
-
3
- # Бесконечность
4
-
5
- ## Бесконечность в JavaScript
6
-
7
- Глобальное свойство `Infinity` является числовым значением, представляющим бесконечность.
8
-
9
- Бесконечность имеет тип `number`.
10
-
11
- ```js
12
- typeof Infinity; // "number"
13
- ```
14
-
15
- [Подробнее...](https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Global_Objects/Infinity)
16
-
17
- ## Бесконечность в value.js
18
-
19
- Библиотека не вносит ни каких изменений в определение бесконечности, а лишь выносит ее в отдельный
20
- тип `infinity`.
21
-
22
- ### Проверка типа
23
-
24
- Проверить, является ли значение бесконечностью, можно с помощью функции
25
- [is_infinity](../helpers/is_infinity.md).
26
-
27
- ```js
28
- is_infinity(Infinity); // true
29
- is_infinity(-Infinity); // true
30
-
31
- gettype(Infinity); // "infinity"
32
- ```
1
+ [Главная](../../README.md) / [Типы данных](../types.md) / Бесконечность
2
+
3
+ # Бесконечность
4
+
5
+ ## Бесконечность в JavaScript
6
+
7
+ Глобальное свойство `Infinity` является числовым значением, представляющим бесконечность.
8
+
9
+ Бесконечность имеет тип `number`.
10
+
11
+ ```js
12
+ typeof Infinity; // "number"
13
+ ```
14
+
15
+ [Подробнее...](https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Global_Objects/Infinity)
16
+
17
+ ## Бесконечность в value.js
18
+
19
+ Библиотека не вносит ни каких изменений в определение бесконечности, а лишь выносит ее в отдельный
20
+ тип `infinity`.
21
+
22
+ ### Проверка типа
23
+
24
+ Проверить, является ли значение бесконечностью, можно с помощью функции
25
+ [is_infinity](../helpers/is_infinity.md).
26
+
27
+ ```js
28
+ is_infinity(Infinity); // true
29
+ is_infinity(-Infinity); // true
30
+
31
+ gettype(Infinity); // "infinity"
32
+ ```
@@ -1,35 +1,35 @@
1
- [Главная](../../README.md) / [Типы данных](../types.md) / Целое число
2
-
3
- # Целое число
4
-
5
- ## Целое число в JavaScript
6
-
7
- В **JavaScript** нет отдельного типа для целых чисел. Они являются частью типа `number`, включающего
8
- как целые числа, так и числа с плавающей точкой.
9
-
10
- [Подробнее...](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number)
11
-
12
- ## Целое число в value.js
13
-
14
- Библиотека **value.js** упраздняет тип `number` и разбивает его на два новых типа: `integer` и
15
- `float`.
16
-
17
- ### Проверка типа
18
-
19
- Проверить, является ли значение целым числом, можно с помощью функции [is_int](../helpers/is_int.md)
20
- и [is_integer](../helpers/is_integer.md).
21
-
22
- ```js
23
- is_int(3); // true
24
- is_integer(3.14); // false
25
-
26
- gettype(3.14); // "integer"
27
- ```
28
-
29
- ### Привидение к типу
30
-
31
- Привести значение к числу с плавающей точкой можно с помощью функции `to_int`.
32
-
33
- ```js
34
- to_int('3'); // 3
35
- ```
1
+ [Главная](../../README.md) / [Типы данных](../types.md) / Целое число
2
+
3
+ # Целое число
4
+
5
+ ## Целое число в JavaScript
6
+
7
+ В **JavaScript** нет отдельного типа для целых чисел. Они являются частью типа `number`, включающего
8
+ как целые числа, так и числа с плавающей точкой.
9
+
10
+ [Подробнее...](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number)
11
+
12
+ ## Целое число в value.js
13
+
14
+ Библиотека **value.js** упраздняет тип `number` и разбивает его на два новых типа: `integer` и
15
+ `float`.
16
+
17
+ ### Проверка типа
18
+
19
+ Проверить, является ли значение целым числом, можно с помощью функции [is_int](../helpers/is_int.md)
20
+ и [is_integer](../helpers/is_integer.md).
21
+
22
+ ```js
23
+ is_int(3); // true
24
+ is_integer(3.14); // false
25
+
26
+ gettype(3.14); // "integer"
27
+ ```
28
+
29
+ ### Привидение к типу
30
+
31
+ Привести значение к числу с плавающей точкой можно с помощью функции `to_int`.
32
+
33
+ ```js
34
+ to_int('3'); // 3
35
+ ```