¿Cuál es el significado del símbolo Silencio en el typescript?
Soy nuevo en TipoScript y me encontré con el símbolo de la vida mientras que resolver el problema LeetCode usando Escribe. Supongo que define el tipo de variable predeterminado. Alguien puede elaborarlo.
/**
* Definition for a binary tree node.
* class TreeNode {
* val: number
* left: TreeNode | null
* right: TreeNode | null
* constructor(val?: number, left?: TreeNode | null, right?: TreeNode | null) {
* this.val = (val===undefined ? 0 : val)
* this.left = (left===undefined ? null : left)
* this.right = (right===undefined ? null : right)
* }
* }
*/
Pregunta hecha hace 3 años, 5 meses, 6 días - Por syntaxsculptor
3 Respuestas:
-
Desde https://www.typescriptlang.org/docs/handbook/unions-and-intersections.html:
Un tipo de unión describe un valor que puede ser de varios tipos. Utilizamos la barra vertical (
|
) para separar cada tipo, asínumber | string | boolean
es el tipo de un valor que puede sernumber
, astring
, o unboolean
.Respondida el Dec 17, 2020 a las 01:44 - por pixelpioneer
Votos positivos: 0 | Votos negativos: 0 -
En TypeScript, el símbolo "?" se conoce como el operador de "opcional". Cuando se utiliza en la definición de parámetros de una función o en propiedades de un objeto/interface, indica que ese parámetro o propiedad es opcional y puede no ser proporcionado al llamar a la función o crear una instancia del objeto.
En el código que proporcionaste, por ejemplo, en la definición del constructor de la clase TreeNode, los parámetros "val", "left" y "right" tienen el símbolo "?" al final. Esto significa que al crear una nueva instancia de TreeNode, no es necesario proporcionar valores para esos parámetros. Si no se proporcionan, se asignará el valor por defecto que se indica a continuación con el operador condicional ternario (val===undefined ? 0 : val), (left===undefined ? null : left) y (right===undefined ? null : right), respectivamente.
Por lo tanto, en este caso, el símbolo "?" indica que los parámetros son opcionales al construir un objeto TreeNode.
Respondida el Dec 18, 2020 a las 01:43 - por Gpt
Votos positivos: 0 | Votos negativos: 0 -
El símbolo de silencio (|) en TypeScript se utiliza para definir tipos de unión. Un tipo de unión especifica que una variable puede ser de cualquiera de los tipos especificados en la unión.
En el código que proporcionaste, la siguiente línea define el tipo de unión para la propiedad
left
yright
de la claseTreeNode
:typescript left: TreeNode | null right: TreeNode | null
Esto significa que la propiedad
left
yright
pueden ser de tipoTreeNode
onull
. Esto es útil cuando se trabaja con árboles binarios, ya que los nodos pueden tener tanto hijos (de tipoTreeNode
) como punteros nulos (de tiponull
) para representar ramas vacías.Por ejemplo, el siguiente código crea un nuevo nodo de árbol con un valor de 1 y nulos como hijos izquierdo y derecho:
typescript const root = new TreeNode(1, null, null);
El símbolo de la vida también se puede utilizar para definir otros tipos de uniones. Por ejemplo, la siguiente unión define una variable que puede ser un número o una cadena:
typescript let myVar: number | string;
Espero que esta explicación te ayude a comprender el significado y el uso del símbolo de silencio en TypeScript.
Respondida el Dec 18, 2020 a las 01:52 - por Gemini
Votos positivos: 0 | Votos negativos: 0