Tras repasar de manera introductoria los tipos de datos y las formas de declarar variables en Office Scripts para Excel, llega el momento de ver algunos de los operadores más frecuentes...
Sabiendo que habitualmente podemos trabajar con dos tipologías de operadores: UNARIA y BINARIA
Un operador binario requiere dos operandos, uno antes del operando y otro después del operador:
operando1 operador operando2
Por ejemplo, 21-13 o a*b
Mientras que un operador unario solo necesita un operando, antes o después del operador:
operador operando1 o operando1 operador
Por ejemplo, x++ o ++x.
Si navegas un poco por internet encontraras diferentes clasificaciones de estos operadores, y una lista larga de todos ellos... pero al final todo se resume en:
1-operadores de asignación: donde se asigna un valor a su operando izquierdo basándose en el valor de su operando derecho. Ejemplo Y = X
2-operadores de comparación: donde se comparan dos operadores, recuperando un verdadero o falso.
3-operadores aritméticos: que toma valores numéricos (ya sean literales o variables) como sus operandos y devuelve un solo valor numérico como resultado.
4-operadores lógicos: se utilizan normalmente con valores booleanos (true o false).
5-operador de cadena: el operador de concatenación (+) concatena dos valores de cadena, devolviendo otra cadena que es la unión de los dos operandos dados.
Por supuesto existen más categorías, pero he optado por detallar los principales o más habituales.
Algunos ejemplos de estos operadores...
El primer ejemplo v1 == v2 compara el '1' (texto) con 1 (número), retornando true, ya que el valor es el mismo.
Sin embargo v1 === v2 compara y verifica valor y tipo de dato, por lo que devuelve false.
Otro ejemplo curios es el operador de cadena +=, donde sobre la variable txt4 añadimos otra subcadena 'anyo', obteniendo ahora una cadena completa asociada a txt4...
NOTA FINAL: OJO con los operadores, ya que nos son iguales, ni en forma ni en comportamiento, a los de otros lenguajes (como VBA) en todos los casos!!!
Sabiendo que habitualmente podemos trabajar con dos tipologías de operadores: UNARIA y BINARIA
Un operador binario requiere dos operandos, uno antes del operando y otro después del operador:
operando1 operador operando2
Por ejemplo, 21-13 o a*b
Mientras que un operador unario solo necesita un operando, antes o después del operador:
operador operando1 o operando1 operador
Por ejemplo, x++ o ++x.
Si navegas un poco por internet encontraras diferentes clasificaciones de estos operadores, y una lista larga de todos ellos... pero al final todo se resume en:
1-operadores de asignación: donde se asigna un valor a su operando izquierdo basándose en el valor de su operando derecho. Ejemplo Y = X
Nombre | Forma… | Significado |
---|---|---|
Asignación | x = y | x = y |
Asignación de adición | x += y | x = x + y |
Asignación de resta | x -= y | x = x - y |
Asignación de multiplicación | x *= y | x = x * y |
Asignación de división | x /= y | x = x / y |
Asignación de residuo | x %= y | x = x % y |
Asignación de exponenciación | x **= y | x = x ** y |
2-operadores de comparación: donde se comparan dos operadores, recuperando un verdadero o falso.
Operador | Forma… | Significado |
---|---|---|
Igual (==) | x == y | Devuelve true si los operandos son iguales. |
No es igual (!=) | x != y | Devuelve true si los operandos no son iguales. |
Estrictamente igual (===) | x === y | Devuelve true si los operandos son iguales y del mismo tipo. |
Desigualdad estricta (!==) | x !== y | Devuelve true si los operandos son del mismo tipo pero no iguales, o son de diferente tipo. |
Mayor que (>) | x > y | Devuelve true si el operando izquierdo es mayor que el operando derecho. |
Mayor o igual que (>=) | x >= y | Devuelve true si el operando izquierdo es mayor o igual que el operando derecho. |
Menor que (<) | x < y | Devuelve true si el operando izquierdo es menor que el operando derecho. |
Menor o igual (<=) | x <= y | Devuelve true si el operando izquierdo es menor o igual que el operando derecho. |
3-operadores aritméticos: que toma valores numéricos (ya sean literales o variables) como sus operandos y devuelve un solo valor numérico como resultado.
Operador | Forma... | Significado |
---|---|---|
Residuo (%) | x % y // 20 % 3 = 2 | Operador binario. Devuelve el resto entero de dividir los dos operandos. |
Incremento (++) | x=3 // ++x = 4 | Operador unario. Agrega uno a su operando. Si se usa como operador prefijo (++x), devuelve el valor de su operando después de agregar uno; si se usa como operador sufijo (x++), devuelve el valor de su operando antes de agregar uno. |
Decremento (--) | x=9 // --x = 8 | Operador unario. Resta uno de su operando. El valor de retorno es análogo al del operador de incremento. |
Negación unaria (-) | x=5 // -x = -5 | Operador unario. Devuelve la negación de su operando. |
Positivo unario (+) | x='13' // +x = 13 | Operador unario. Intenta convertir el operando en un número, si aún no lo es. |
Operador de exponenciación (**) | 3 ** 3 = 27 | Calcula la base a la potencia de exponente, es decir, baseexponente |
4-operadores lógicos: se utilizan normalmente con valores booleanos (true o false).
Operador | Forma… | Significado |
---|---|---|
AND Lógico (&&) | expr1 && expr2 | Devuelve expr1 si se puede convertir a false; de lo contrario, devuelve expr2. Por lo tanto, cuando se usa con valores booleanos, && devuelve true si ambos operandos son true; de lo contrario, devuelve false. |
OR lógico (||) | expr1 || expr2 | Devuelve expr1 si se puede convertir a true; de lo contrario, devuelve expr2. Por lo tanto, cuando se usa con valores booleanos, || devuelve true si alguno de los operandos es true; si ambos son falsos, devuelve false. |
NOT lógico (!) | !expr | Devuelve false si su único operando se puede convertir a true; de lo contrario, devuelve true. |
5-operador de cadena: el operador de concatenación (+) concatena dos valores de cadena, devolviendo otra cadena que es la unión de los dos operandos dados.
Operador | Forma… | Significado |
---|---|---|
más (+) | expr1 + expr2 // expr1 += expr2 | Concatena ambas expresiones |
Por supuesto existen más categorías, pero he optado por detallar los principales o más habituales.
Algunos ejemplos de estos operadores...
function main(workbook: ExcelScript.Workbook) { let v1: string ='1'; let v2: number = 1; let txt3: string='Romero'; let txt4='año '; let anyo=2022; let mes=1; let dia1=31; let dia2=10; // console.log(v1 == v2); console.log(v1 === v2); console.log(+v1 === v1); console.log(dia2 % dia1); console.log( txt4 += anyo); }
El primer ejemplo v1 == v2 compara el '1' (texto) con 1 (número), retornando true, ya que el valor es el mismo.
Sin embargo v1 === v2 compara y verifica valor y tipo de dato, por lo que devuelve false.
Otro ejemplo curios es el operador de cadena +=, donde sobre la variable txt4 añadimos otra subcadena 'anyo', obteniendo ahora una cadena completa asociada a txt4...
NOTA FINAL: OJO con los operadores, ya que nos son iguales, ni en forma ni en comportamiento, a los de otros lenguajes (como VBA) en todos los casos!!!
No hay comentarios:
Publicar un comentario
Nota: solo los miembros de este blog pueden publicar comentarios.