# gt-node: General Translation Node.js SDK: declareVar URL: https://generaltranslation.com/es/docs/node/reference/functions/declare-var.mdx --- title: declareVar description: Marca un valor como no derivable dentro de una llamada a derive de General Translation. Referencia de la API de declareVar. --- Marca un valor como no derivable: contenido 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).