164 lines
3.6 KiB
Markdown
164 lines
3.6 KiB
Markdown
|
# Number
|
||
|
|
||
|
`Napi::Number` class is a representation of the JavaScript `Number` object. The
|
||
|
`Napi::Number` class inherits its behavior from `Napi::Value` class
|
||
|
(for more info see [`Napi::Value`](value.md))
|
||
|
|
||
|
## Methods
|
||
|
|
||
|
### Constructor
|
||
|
|
||
|
Creates a new _empty_ instance of a `Napi::Number` object.
|
||
|
|
||
|
```cpp
|
||
|
Napi::Number();
|
||
|
```
|
||
|
|
||
|
Returns a new _empty_ `Napi::Number` object.
|
||
|
|
||
|
### Contructor
|
||
|
|
||
|
Creates a new instance of a `Napi::Number` object.
|
||
|
|
||
|
```cpp
|
||
|
Napi::Number(napi_env env, napi_value value);
|
||
|
```
|
||
|
|
||
|
- `[in] env`: The `napi_env` environment in which to construct the `Napi::Number` object.
|
||
|
- `[in] value`: The JavaScript value holding a number.
|
||
|
|
||
|
Returns a non-empty `Napi::Number` object.
|
||
|
|
||
|
### New
|
||
|
|
||
|
Creates a new instance of a `Napi::Number` object.
|
||
|
|
||
|
```cpp
|
||
|
Napi::Number Napi::Number::New(napi_env env, double value);
|
||
|
```
|
||
|
- `[in] env`: The `napi_env` environment in which to construct the `Napi::Number` object.
|
||
|
- `[in] value`: The C++ primitive from which to instantiate the `Napi::Number`.
|
||
|
|
||
|
Creates a new instance of a `Napi::Number` object.
|
||
|
|
||
|
### Int32Value
|
||
|
|
||
|
Converts a `Napi::Number` value to a `int32_t` primitive type.
|
||
|
|
||
|
```cpp
|
||
|
Napi::Number::Int32Value() const;
|
||
|
```
|
||
|
|
||
|
Returns the `int32_t` primitive type of the corresponding `Napi::Number` object.
|
||
|
|
||
|
### Uint32Value
|
||
|
|
||
|
Converts a `Napi::Number` value to a `uint32_t` primitive type.
|
||
|
|
||
|
```cpp
|
||
|
Napi::Number::Uint32Value() const;
|
||
|
```
|
||
|
|
||
|
Returns the `uint32_t` primitive type of the corresponding `Napi::Number` object.
|
||
|
|
||
|
### Int64Value
|
||
|
|
||
|
Converts a `Napi::Number` value to a `int64_t` primitive type.
|
||
|
|
||
|
```cpp
|
||
|
Napi::Number::Int64Value() const;
|
||
|
```
|
||
|
|
||
|
Returns the `int64_t` primitive type of the corresponding `Napi::Number` object.
|
||
|
|
||
|
### FloatValue
|
||
|
|
||
|
Converts a `Napi::Number` value to a `float` primitive type.
|
||
|
|
||
|
```cpp
|
||
|
Napi::Number::FloatValue() const;
|
||
|
```
|
||
|
|
||
|
Returns the `float` primitive type of the corresponding `Napi::Number` object.
|
||
|
|
||
|
### DoubleValue
|
||
|
|
||
|
Converts a `Napi::Number` value to a `double` primitive type.
|
||
|
|
||
|
```cpp
|
||
|
Napi::Number::DoubleValue() const;
|
||
|
```
|
||
|
|
||
|
Returns the `double` primitive type of the corresponding `Napi::Number` object.
|
||
|
|
||
|
## Operators
|
||
|
|
||
|
The `Napi::Number` class contains a set of operators to easily cast JavaScript
|
||
|
`Number` object to one of the following primitive types:
|
||
|
|
||
|
- `int32_t`
|
||
|
- `uint32_t`
|
||
|
- `int64_t`
|
||
|
- `float`
|
||
|
- `double`
|
||
|
|
||
|
### operator int32_t
|
||
|
|
||
|
Converts a `Napi::Number` value to a `int32_t` primitive.
|
||
|
|
||
|
```cpp
|
||
|
Napi::Number::operator int32_t() const;
|
||
|
```
|
||
|
|
||
|
Returns the `int32_t` primitive type of the corresponding `Napi::Number` object.
|
||
|
|
||
|
### operator uint32_t
|
||
|
|
||
|
Converts a `Napi::Number` value to a `uint32_t` primitive type.
|
||
|
|
||
|
```cpp
|
||
|
Napi::Number::operator uint32_t() const;
|
||
|
```
|
||
|
|
||
|
Returns the `uint32_t` primitive type of the corresponding `Napi::Number` object.
|
||
|
|
||
|
### operator int64_t
|
||
|
|
||
|
Converts a `Napi::Number` value to a `int64_t` primitive type.
|
||
|
|
||
|
```cpp
|
||
|
Napi::Number::operator int64_t() const;
|
||
|
```
|
||
|
|
||
|
Returns the `int64_t` primitive type of the corresponding `Napi::Number` object.
|
||
|
|
||
|
### operator float
|
||
|
|
||
|
Converts a `Napi::Number` value to a `float` primitive type.
|
||
|
|
||
|
```cpp
|
||
|
Napi::Number::operator float() const;
|
||
|
```
|
||
|
|
||
|
Returns the `float` primitive type of the corresponding `Napi::Number` object.
|
||
|
|
||
|
### operator double
|
||
|
|
||
|
Converts a `Napi::Number` value to a `double` primitive type.
|
||
|
|
||
|
```cpp
|
||
|
Napi::Number::operator double() const;
|
||
|
```
|
||
|
|
||
|
Returns the `double` primitive type of the corresponding `Napi::Number` object.
|
||
|
|
||
|
### Example
|
||
|
|
||
|
The following shows an example of casting a number to an `uint32_t` value.
|
||
|
|
||
|
```cpp
|
||
|
uint32_t operatorVal = Napi::Number::New(Env(), 10.0); // Number to unsigned 32 bit integer
|
||
|
// or
|
||
|
auto instanceVal = info[0].As<Napi::Number>().Uint32Value();
|
||
|
```
|