"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > Precauciones al usar solo lectura en TypeScript

Precauciones al usar solo lectura en TypeScript

Publicado el 2024-08-21
Navegar:996

Cautions When Using readonly in TypeScript

Lo básico de la propiedad de solo lectura.

En Type Script, puedes hacer que el objeto de las propiedades de un objeto sea de solo lectura.

const person: { readonly name: string  } = { name: 'Mike' }

person.name = 21;
// → Cannot assign to 'name' because it is a read-only property.

⚠️① solo lectura es solo en tiempo de compilación

En el código JavaScript compilado, la declaración de solo lectura se elimina, por lo que no se detectará como un error en tiempo de ejecución.

⚠️② solo lectura no es recursivo.

const person: {
  readonly name: string;
  readonly academicBackground: {
    primarySchool: string
  }
} = {
  name: 'Mike',
  academicBackground: {
    primarySchool: 'School A'
  }
}

person.academicBackground.primarySchool = 'School B'
// You can change `person.academicBackground.primarySchool`

Si desea que sea de solo lectura, también debe poner solo lectura en la escuela primaria.

const person: {
  readonly name: string;
  readonly academicBackground: {
    readonly primarySchool: string
  }
} = {
  name: 'Mike',
  academicBackground: {
    primarySchool: 'School A'
  }
}

person.academicBackground.primarySchool = 'School B'
// → Cannot assign to 'primarySchool' because it is a read-only property.

Sólo lectura

Cuando aumenta el número de propiedades, agregar solo lectura a cada una se vuelve engorroso y aumenta la cantidad de código.
Puedes refactorizar usando Readonly.

const obj: {
  readonly a : string;
  readonly b: string;
  readonly c: string;
  readonly d: string;
} = {
  a: 'a',
  b: 'b',
  c: 'c',
  d: 'd'
}

// ↓

const obj: Readonly = {
  a: 'a',
  b: 'b',
  c: 'c',
  d: 'd'
}

Codificación feliz☀️

Declaración de liberación Este artículo se reproduce en: https://dev.to/noah-00/cautions-when-using-readonly-in-typescript-22d7?1 Si hay alguna infracción, comuníquese con [email protected] para eliminarla.
Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3