# gt-node: General Translation Node.js SDK: declareVar
URL: https://generaltranslation.com/it/docs/node/reference/functions/declare-var.mdx
Docs index: https://generaltranslation.com/llms.txt
Description: Contrassegna un valore come non derivabile all'interno di una chiamata a derive di General Translation. API reference per declareVar.

Un valore non derivabile è un valore che il compilatore di General Translation non può analizzare staticamente. Usa `declareVar` all&#39;interno di una chiamata a [`derive`](/docs/node/reference/functions/derive) per isolare la parte di un&#39;espressione che deve essere trattata come variabile di Runtime.

## Panoramica [#overview]

Chiama `declareVar` con un valore per ottenere una stringa ICU `select` codificata che contiene il valore nel ramo `other`. In questo modo il compilatore può mantenere derivabile il contenuto circostante, trattando al tempo stesso il valore racchiuso come una variabile.

```ts
import { declareVar, derive, getGT } from 'gt-node';

const gt = await getGT();
const message = gt(`My name is ${derive(declareVar(getName()))}`);
```

Firma:

```ts
declareVar(
  variable: string | number | boolean | null | undefined,
  options?: { $name?: string }
): string
```

## Come funziona [#how-it-works]

* **Marcatore non derivabile.** `declareVar` racchiude il proprio argomento in un&#39;espressione ICU `select` (`{_gt_, select, other {...}}`), così che il compilatore lo tratti come una variabile anziché come un valore statico.
* **Nome facoltativo.** Passa `$name` per assegnare un nome alla variabile nell&#39;output codificato.
* **Ripristino.** Decodifica una stringa che contiene l&#39;output di `declareVar` riportandola alla forma interpolata con [`decodeVars`](/docs/node/reference/functions/decode-vars).

## Parametri [#parameters]

| Parametro               | Descrizione                                      | Type                                               | Optional | Predefinito |
| ----------------------- | ------------------------------------------------ | -------------------------------------------------- | -------- | ----------- |
| [`variable`](#variable) | Il valore da contrassegnare come non derivabile. | `string \| number \| boolean \| null \| undefined` | No       | —           |
| [`options`](#options)   | Le opzioni per la dichiarazione.                 | `{ $name?: string }`                               | Yes      | —           |

### `variable` [#variable]

**Tipo** `string | number | boolean | null | undefined` · **Obbligatorio**

Il valore da contrassegnare come non derivabile. Viene forzato in una stringa e ripulito.

### `options` [#options]

**Tipo** `{ $name?: string }` · **Facoltativo**

* `$name?: string` — un nome facoltativo per la variabile, incluso nell&#39;output codificato.

## Restituisce [#returns]

**Tipo** `string`

Una stringa ICU `select` codificata che contiene il valore (ed eventualmente il nome).

## Esempi [#examples]

```ts
import { declareVar, derive, getGT } from 'gt-node';

function derivableName() {
  if (someCondition) {
    return declareVar(Math.random().toString());
  }
  return 'John Doe';
}

const gt = await getGT();
const greeting = gt(`My name is ${derive(derivableName())}`);
```

## Note [#notes]

* Usa `declareVar` solo all&#39;interno di una chiamata a [`derive`](/docs/node/reference/functions/derive).
* Riconverti in testo le variabili codificate con [`decodeVars`](/docs/node/reference/functions/decode-vars).

## Sitemap

See the full [sitemap](https://generaltranslation.com/sitemap.md) for all pages.
