@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.
- package/.prettierignore +4 -4
- package/CHANGELOG.md +68 -56
- package/LICENSE +41 -41
- package/README.md +100 -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.md +9 -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.md +51 -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 +40 -37
- package/jest.config.mjs +31 -31
- package/package.json +48 -47
- package/prettier.config.mjs +224 -224
- package/src/classes/Convert.mjs +819 -0
- package/src/classes/Type.mjs +1285 -0
- package/src/helpers/array.mjs +107 -107
- package/src/helpers/empty.mjs +70 -70
- package/src/helpers/gettype.mjs +133 -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/tests/classes/Convert.test.mjs +399 -0
- package/tests/classes/Type.test.mjs +1263 -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/docs/types/boolean.md
CHANGED
|
@@ -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
|
+
```
|
package/docs/types/class.md
CHANGED
|
@@ -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> — это <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> — это <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
|
+
```
|
package/docs/types/float.md
CHANGED
|
@@ -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
|
+
```
|
package/docs/types/function.md
CHANGED
|
@@ -1,121 +1,121 @@
|
|
|
1
|
-
[Главная](../../README.md) / [Типы данных](../types.md) / Функция
|
|
2
|
-
|
|
3
|
-
# Функция
|
|
4
|
-
|
|
5
|
-
## Функция в JavaScript
|
|
6
|
-
|
|
7
|
-
В общем случае, **функция** — это "подпрограмма", которую можно вызывать из внешнего (или
|
|
8
|
-
внутреннего, в случае рекурсии) по отношению к функции кода.
|
|
9
|
-
|
|
10
|
-
В **JavaScript** функции являются объектами первого класса, то есть: они являются объектами и с ними
|
|
11
|
-
можно взаимодействовать и передавать их точно так же как любой другой объект. Если быть точным,
|
|
12
|
-
функции — это объекты `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> — это <u>"специальные функции"</u>, поэтому точно также, как
|
|
24
|
-
вы определяете функции, вы можете определять и классы.
|
|
25
|
-
|
|
26
|
-
[Подробнее...](https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Classes)
|
|
27
|
-
|
|
28
|
-
## Функция в value.js
|
|
29
|
-
|
|
30
|
-
Библиотека не вносит ни каких изменений в определение функции. Она лишь различает понятие функции и
|
|
31
|
-
класса. Если в JavaScript класс — это функция по типу, то библиотека вводит новый тип для
|
|
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
|
+
В общем случае, **функция** — это "подпрограмма", которую можно вызывать из внешнего (или
|
|
8
|
+
внутреннего, в случае рекурсии) по отношению к функции кода.
|
|
9
|
+
|
|
10
|
+
В **JavaScript** функции являются объектами первого класса, то есть: они являются объектами и с ними
|
|
11
|
+
можно взаимодействовать и передавать их точно так же как любой другой объект. Если быть точным,
|
|
12
|
+
функции — это объекты `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> — это <u>"специальные функции"</u>, поэтому точно также, как
|
|
24
|
+
вы определяете функции, вы можете определять и классы.
|
|
25
|
+
|
|
26
|
+
[Подробнее...](https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Classes)
|
|
27
|
+
|
|
28
|
+
## Функция в value.js
|
|
29
|
+
|
|
30
|
+
Библиотека не вносит ни каких изменений в определение функции. Она лишь различает понятие функции и
|
|
31
|
+
класса. Если в JavaScript класс — это функция по типу, то библиотека вводит новый тип для
|
|
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
|
+
```
|
package/docs/types/infinity.md
CHANGED
|
@@ -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
|
+
```
|
package/docs/types/integer.md
CHANGED
|
@@ -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
|
+
```
|