0Pricing
Angular Academy · Lección

Creación y lectura de señales

Declare señales modificables y lea sus valores.

Creación y lectura de señales es una lección gratuita de Angular Academy en CoddyKit. Esta es la lección 2 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Angular Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Angular Academy incluye 4 lecciones en total.

Crear una señal

Puede crear una señal writable con la factoría signal(), pasando el valor inicial.

import { signal } from '@angular/core';

const c = signal(0); // initial value is 0

El valor inicial establece el tipo

TypeScript infiere el tipo de la señal a partir del valor inicial. signal(0) es un WritableSignal<number>.

const name = signal('Alice'); // WritableSignal<string>
const flag = signal(false);    // WritableSignal<boolean>

Leer una señal

Llame a la señal para leer su valor actual. Esto devuelve el valor almacenado y registra una dependencia si se encuentra dentro de un contexto reactivo.

const c = signal(0);
const current = c(); // current === 0

Leer varias veces

Puede leer una señal tantas veces como quiera. Cada llamada devuelve el valor más reciente en el momento de la llamada.

const c = signal(10);
console.log(c()); // 10
console.log(c()); // 10

Tipado explícito

Puede indicar un tipo explícito cuando el valor inicial no lo representa completamente, por ejemplo, un valor que también puede ser null.

const user = signal<string | null>(null);
console.log(user()); // null

Señales de objetos

Una señal puede contener cualquier valor, incluidos objetos y matrices.

const point = signal({ x: 0, y: 0 });
console.log(point().x); // 0

Señales de matrices

Las matrices funcionan de la misma manera. Al leerlas se devuelve la referencia actual de la matriz.

const items = signal<string[]>(['a', 'b']);
console.log(items().length); // 2

Señales como campos de clase

En componentes y servicios, declare las señales como campos. Se inicializan una vez cuando se crea la instancia.

import { Injectable, signal } from '@angular/core';

@Injectable({ providedIn: 'root' })
export class CounterStore {
  count = signal(0);
}

Leer en la clase del componente

Puede leer una señal en cualquier parte de la clase, por ejemplo dentro de un método, llamándola.

export class CounterStore {
  count = signal(0);
  isZero(): boolean {
    return this.count() === 0;
  }
}

Acceso de solo lectura

Si desea exponer una señal sin permitir que los consumidores la modifiquen, puede exponerla mediante el método asReadonly().

const internal = signal(0);
export const value = internal.asReadonly();
// value() works; value.set is not available

Convenciones de nomenclatura

Una convención habitual consiste en nombrar la señal según el valor que contiene (por ejemplo, count o items), ya que su lectura se parece a un accessor normal: count().

Comprobación rápida: crear señales

Ponga a prueba su comprensión de la creación y lectura de señales.

Repaso: crear y leer

Ahora sabe cómo crear una señal writable con signal(initialValue), cómo infiere TypeScript su tipo y cómo leerla llamándola. También ha visto asReadonly() para exponer un acceso de solo lectura. A continuación: actualizar los valores de las señales.

Preguntas frecuentes

¿La lección «Creación y lectura de señales» es gratis?

Sí — el texto completo de «Creación y lectura de señales» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Angular Academy, actualiza a CoddyKit PRO. El curso de Angular Academy incluye 4 lecciones en total.

¿Qué aprenderé en «Creación y lectura de señales»?

Declare señales modificables y lea sus valores. Practicas Angular Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar Angular Academy?

No se requiere experiencia previa. Angular Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 2 de 4.

¿Cuánto tiempo toma la lección «Creación y lectura de señales»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de Angular Academy?

Sí. Cada lección de Angular Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. Qué son las señales
  2. Creación y lectura de señales
  3. Actualización de señales con set y update
  4. Señales en plantillas
← Volver a Angular Academy