Sobes.tech
Junior

Cuente sobre los operadores en el lenguaje de programación Dart.

sobes.tech AI

Respuesta de la IA

Los operadores en Dart se utilizan para realizar operaciones sobre variables y valores.

Categorías principales de operadores:

  • Asignación: Asignan un valor a una variable.
    int a = 10; // Asignación
    a += 5; // a = a + 5
    a ??= 0; // Asignar 0 si a es null
    
  • Aritméticos: Realizan operaciones matemáticas.
    int suma = 5 + 3;
    int diferencia = 10 - 2;
    int producto = 4 * 6;
    double division = 15 / 3;
    int resto = 10 % 3; // Resto de la división
    a++; // Incremento
    b--; // Decremento
    
  • Relacionales: Comparan dos valores y devuelven un valor booleano.
    bool esIgual = (5 == 5);
    bool noEsIgual = (10 != 5);
    bool esMayor = (7 > 2);
    bool esMenor = (3 < 8);
    bool esMayorOIgual = (4 >= 4);
    bool esMenorOIgual = (6 <= 10);
    
  • Lógicos: Realizan operaciones lógicas sobre valores booleanos.
    bool resultadoAnd = true && false;
    bool resultadoOr = true || false;
    bool resultadoNot = !true;
    
  • De tipo: Verifican el tipo de objeto en tiempo de ejecución.
    var miObjeto = "Hola";
    bool esCadena = miObjeto is String; // Verificación de tipo
    bool esEntero = miObjeto is int;
    String? talVezCadena;
    int? resultado = talVezCadena as int?; // Conversión de tipo (no segura)
    
  • Condicionales: Permiten ejecutar código dependiendo de una condición.
    var x = 10;
    var y = (x > 5) ? "mayor que 5" : "menor o igual que 5"; // Operador ternario
    var z = null;
    var valor = z ?? "valor por defecto"; // Operador '??'
    
  • Operadores en cascada (..): Permiten llamar a varios métodos o asignar valores a propiedades de un mismo objeto en secuencia.
    var sb = StringBuffer();
    sb..write("Hola")
      ..write(" ")
      ..write("Mundo!");
    
  • Operador de acceso seguro a null (?): Se usa para prevenir errores al trabajar con tipos nullable.
    String? cadenaNula;
    int? longitud = cadenaNula?.length; // Devuelve null si cadenaNula es null
    
  • Operador de propagación (... / ...?): Se usa para incluir todos los elementos de una lista en otra lista. ...? es seguro para null.
    var lista1 = [1, 2, 3];
    var lista2 = [0, ...lista1, 4]; // [0, 1, 2, 3, 4]
    var listaNula = null;
    var lista3 = [0, ...?listaNula, 4]; // [0, 4]
    

El orden de prioridad de los operadores determina en qué orden se realizan las operaciones en una expresión.