Desculpe, ... mas ou não ouvi mencionar esta palavra, ou não foi mencionado. O que é o readonly ? Para que serve e qual é a sua finalidade no JavaScript ?
Desculpe, ... mas ou não ouvi mencionar esta palavra, ou não foi mencionado. O que é o readonly ? Para que serve e qual é a sua finalidade no JavaScript ?
O atributo readonly é um modificador de acesso que indica que aquele campo é somente leitura, ou seja, só pode ser lido, mas não pode ser sobrescrito.
Readonly no JSCada linguagem pode implementar essa funcionalidade de uma maneira. No JavaScript, no momento, até onde sei, ainda não é um atributo nativo.
Então, caso queira ou precise fazer algo nesse sentido, precisará criar meios para permitir algo semelhante. O exemplo abaixo, adaptado e extraído deste link, pode ser entendido como um meio de usar o atributo readonly em classes JS:
class MyReadOnly {
static get readonly() {
return "propriedade somente leitura";
}
static set readonly(value) {
throw new Error(`esta propriedade é somente leitura e não pode ser escrita pelo valor "${value}"`);
}
}
Entradas / Saídas:
MyReadOnly.readonly;
// "propriedade somente leitura"
MyReadOnly.readonly = "escreva isso..."
// Uncaught Error: esta propriedade é somente leitura e não pode ser escrita pelo valor "escreva isso..."
MyReadOnly.readonly;
// "propriedade somente leitura"
Você também pode optar por usar readonly no JS usando o TypeScript:
class Pessoa {
readonly firstName: string = "Marcia";
}
A formação de TS da Alura é muito boa! <3
Links para conhecer e saber mais: