Dart — Palabras clave (Reservadas)

2024-01-13T15:00:00-05:00 | 7 minutos de lectura | Actualizado en 2025-01-24T07:42:46-05:00

jaimetellezb
Dart — Palabras clave (Reservadas)

Tabla de Contenido

Introducción

En todos los lenguajes existen palabras reservadas o palabras clave que son utilizadas para poder manejar funciones específicas en el lenguaje. No se pueden usar como identificadores en clases, funciones, variables, etc. Son palabras que el lenguaje necesita para que su estructura funcione correctamente.

Dart tiene sus propias palabras clave y podemos dividirlas en cuatro categorías.

Palabras clave reservadas

Son las palabras que no pueden definitivamente ser identificadores. Las listaremos en orden alfabético.

if

Palabra clave que sirve para realizar condiciones donde esperamos un resultado booleano (true o false).

if (5 > 4) {
// sentencia
}

else

Esta palabra clave es opcional y se utiliza en los condicionales cuando la validación if no es verdadera.

if (4 > 5) {
// sentencia, no ingresa
} else {
// ingresa al else ya que no cumple el if
}

enum

La palabra clave enum también conocida como enumeraciones son una clase especial usada para representar valores constantes.

enum Month {
  january, february, march, april
}

in

La palabra in se utiliza en los bucle for-in, que son recomendados cuando no es necesario tener el índice de un iterable (List o Set).

class Person {
  String name = "";
  int age = 0;

  void printAge() {
    print('$name tiene $age años de edad.');
  }
}

void main() {
  // Sin notación de cascada
  Person person1 = Person();
  person1.name = 'Juan';
  person1.age = 30;

  // Con notación de cascada
  Person person2 = Person()
  ..name = 'Pepito'
  ..age = 33;

  List<Person> persons = [person1, person2];

  for (final person in persons) {
    person.printAge();
  }
}

assert

Los asserts se usan para validar si una condición es verdadera o falsa, si es falsa impide seguir con su flujo y muestra una excepción con un mensaje de error. Es una función y recibe en la primera posición la condición y en la segunda podemos agregar un mensaje opcional que se muestre al generar el error. assert(<condition>, <optionalMessage>);

int num = 4;
assert(num > 5); // muestra mensaje de error Uncaught Error: Assertion failed
// muestra mensaje de error Uncaught Error: Assertion failed número no válido
assert(num > 5, 'número no válido');

super

Esta palabra clave se usa en temas de herencia para hacer referencia a la superclase o clase padre.

class Animal {
  void walk() {
    print('animal caminando');
 }
}

class Dog extends Animal {
  @override
  void walk() {
    super.walk(); // se llama la función walk de la superclase
    print('Perro');
  }
}

void main() {
  Dog dog = Dog();
  dog.walk();
}

extends

Se usa en las subclases o clases hijas para extender los atributos y funciones de la clase padre. Al usar extends se crea una subclase.

// como vimos en el ejemplo anterior
class Dog extends Animal { }

is

Como ya vimos antes, la palabra is en Dart se utiliza para validar si un objeto es de determinado tipo de dato.

if (employee is Person) { }

case

La palabra clave case se usa para los casos que se validan dentro de una sentencia switch, que veremos a continuación.

default

La palabra clave default se usa en los switch para los valores que no coinciden con ningún caso.

switch

Es una sentencia que evalúa una expresión de valor contra una serie de casos. Empieza evaluando cada case y cuando coincide con el valor ingresa y ejecuta la sentencia que haya dentro, sino hay coincidencia va al default.

var color = 'RED';
switch (command) {
  case 'BLUE':
    print('BLUE');
  case 'GREEN':
    print('GREEN');
  case 'RED':
    print('RED');
  default:
    print('WHITE');
}

when

Palabra clave que se usa luego de los case para agregar más comparaciones en los casos.

var value = 3;
var caseValue = 6;
switch (value) {
  case 1:
    print("Caso 1");
    break;
  case 2:
    print("Caso 2");
    break;
  case 3 when (caseValue > 5):
    print("Caso 3 con valor mayor a 5");
    break;
  default:
    print("Caso por defecto");
}

La palabra clave this se refiere a la instancia actual de una clase.

class Point {
  double x = 0;
  double y = 0;

  Point(this.x, this.y);
}

for

La palabra clave for se usa para iterar las listas en Dart.

for (int i = 0; i < 5; i++) {
// sentencia
}

break

La palabra clave break se usa dentro de los bucles para detenerlo y salir de él.

for (int i = 0; i < 5; i++) {
  if (i > 3) break;
  print(i);
}

continue

La palabra clave continue al igual que break se usa en los bucles pero para seguir con la siguiente iteración y no ejecutar más dentro del bucle.

for (int i = 1; i <= 5; i++) {
  if (i == 3) {
    print("no imprimir el valor 3");
    continue;
  }
  print("Valor: $i");
}

throw

La palabra clave throw se utiliza para lanzar excepciones.

throw Exception('Error');

false — true

Son los valores que tiene el tipo de dato bool en Dart.

bool isDark = false;
bool isActive = true;

new

Es una palabra clave opcional para instanciar una clase.

var class1 = new Person();
var class2 = Person(); // esta es la forma recomendada por Dart

try

Se usa para la construcción del bloque try-catch en las excepciones.

catch

La palabra clave catch se utiliza para evitar que las excepciones se propaguen. Podemos atrapar la excepción y manejarla.

try {
  execute();
} on Exception {
  otherExecute();
}

finally

Se usa en las excepciones en los bloques try-catch y es un código que se ejecuta siempre, entre o no a un catch.

try {
  executeTry();
} catch (e) {
  print('Error: $e');
} finally {
  executeFinally();
}

final(variable)

Una variable final solo puede establecerse una vez, no se puede modificar su valor.

final dog = 'Coquito';

null

La palabra clave null se utiliza para las variables que no se inicializan es un valor por defecto.

int? lineCount;
int lineCount2;

if (lineCount2 > 2) {}

class

La palabra clave class es la que se usa para crear las clases.

class Person {}

var

Es la palabra clave utilizada para la creación de variables sin necesidad de especificar un tipo de dato.

var color = 'GREEN';

void

Palabra clave que se usa para indicar que una función no va a retornar ningún valor.

void main {}

rethrow

Palabra clave para manejar parcialmente una excepción, mientras se permite su propagación. Permite que una excepción capturada sea relanzada al nivel superior, sin perder la traza.

void misbehave() {
  try {
    dynamic foo = true;
    print(foo++);
  } catch (e) {
    print('misbehave() partially handled ${e.runtimeType}.');
    rethrow; // se relanza al try dentro del main
  }
}

void main() {
  try {
    misbehave();
  } catch (e) {
    print('main() finished handling ${e.runtimeType}.');
  }
}

while

Palabra clave que se usa para crear un bucle mientras la condición sea verdadera.

int count = 0;

while (count < 5) {
  print('Contador $count');
  count++;
}

do-while

La palabra clave do se utiliza en el bucle do-while, que ejecuta una sentencia mientras se cumpla una condición.

int count = 0;

do {
  print('Contador $count');
  count++;
} while (count < 5);

return

La palabra clave return se utiliza para devolver un valor de una función y para terminar su ejecución.

int sum(int a, int b) {
  return a + b;
}

with

La palabra clave with se utiliza en el contexto de las clases y la herencia para mezclar o combinar las funcionalidades de múltiples clases en una sola clase. Este concepto se conoce como mixin, y Dart proporciona la palabra clave with para aplicar mixins en una clase.

class Logger {
  void log(String message) {
    print('Log: $message');
  }
}

mixin class LogRegister implements Logger {
  @override
  void log(String message) {
    print('Registrar: $message');
  }
}

class MyClass with LogRegister {
// Sentencias de la clase
}

void main() {
  var myClass = MyClass();
  myClass.log('logger');
}

Conclusión

Conocimos las palabras reservadas que tiene Dart, las que no se pueden usar como identificadores.

¡Gracias por leer!

Fuentes

© 2022 - 2025 jaimetellezb - Compartir guías y tutoriales de programación.

🌱 Powered by Hugo with theme Dream.

Sobre mí

alt

Ingeniero de software

Hola, bienvenidos a mi blog sobre guías y tutoriales de programación.

Aquí podrás encontrar guías y tutoriales sobre algunos temas de tecnología en general. La idea es poder ayudar a que ciertas cosas como configuraciones de nuevas herramientas sean más fáciles de abordar y utilizar. También pequeños proyectos donde se usen diferentes tecnologías como ejemplo.

Enlaces sociales