# gt-node: General Translation Node.js SDK: declareVar
URL: https://generaltranslation.com/es/docs/node/reference/functions/declare-var.mdx
Docs index: https://generaltranslation.com/llms.txt
Description: Marca un valor como no derivable dentro de una llamada a derive de General Translation. Referencia de la API de declareVar.

Un valor no derivable es aquel que el compilador de General Translation no puede analizar estáticamente. Usa `declareVar` dentro de una llamada a [`derive`](/docs/node/reference/functions/derive) para aislar la parte de una expresión que debe tratarse como una variable de Runtime.

## Descripción general [#overview]

Llama a `declareVar` con un valor para obtener una cadena `select` de ICU codificada que contiene el valor en su rama `other`. Esto permite que el compilador mantenga el contenido circundante como derivable mientras trata el valor encapsulado como una variable.

```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
```

## Cómo funciona [#how-it-works]

* **Marcador no derivable.** `declareVar` envuelve su argumento en una expresión ICU `select` (`{_gt_, select, other {...}}`) para que el compilador lo interprete como una variable y no como un valor estático.
* **Nombre opcional.** Pasa `$name` para asignar una etiqueta a la variable en la salida codificada.
* **Recuperación.** Decodifica una cadena que contiene la salida de `declareVar` para volver a su forma interpolada con [`decodeVars`](/docs/node/reference/functions/decode-vars).

## Parámetros [#parameters]

| Parámetro               | Descripción                                    | Type                                               | Opcional | Predeterminado |
| ----------------------- | ---------------------------------------------- | -------------------------------------------------- | -------- | -------------- |
| [`variable`](#variable) | El valor que se debe marcar como no derivable. | `string \| number \| boolean \| null \| undefined` | No       | —              |
| [`options`](#options)   | Opciones para la declaración.                  | `{ $name?: string }`                               | Sí       | —              |

### `variable` [#variable]

**Type** `string | number | boolean | null | undefined` · **Obligatorio**

El valor que debe marcarse como no derivable. Se convierte en una cadena y se sanea.

### `options` [#options]

**Type** `{ $name?: string }` · **Opcional**

* `$name?: string` — un nombre opcional para la variable, que se incluye en la salida codificada.

## Devuelve [#returns]

**Tipo** `string`

Una cadena `select` de ICU codificada que contiene el valor (y, opcionalmente, el nombre).

## Ejemplos [#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())}`);
```

## Notas [#notes]

* Usa `declareVar` solo dentro de una llamada a [`derive`](/docs/node/reference/functions/derive).
* Convierte las variables codificadas de nuevo en texto con [`decodeVars`](/docs/node/reference/functions/decode-vars).

## Sitemap

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