Header Ads Widget

Ticker

6/recent/ticker-posts

Tutorial de TypeScript: Lección 18 - Accesor

Propiedad
de accesor Soporte de ECMASCRIPT 5
Métodos de la propiedad de acceso de mecanografiado:

  • getter: este método viene cuando desea acceder a cualquier propiedad de un objeto.
  • setter: este método viene cuando quieres cambiar cualquier propiedad de un objeto.

getter: Para extraer el valor de una variable, la propiedad del descriptor de acceso es el método convencional. Se denota mediante la palabra clave get, en un objeto literal.
Un captador puede ser público, protegido, privado.

Sintaxis:

1
2
3
get access_name() { 
    // getter, the code executed on getting obj.access_name
}

Ejemplo:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
dieciséis
class Rectangle{
   
  private _width:number
  private _height:number
   
  constructor(w:number,h:number){
    this._width = w
    this._height = h
  }
 
  get square(){
    return this._width*this._height
  }
}
 
console.log(new Rectangle(100,100).square)

Resultado:

1
[LOG]: 10000

setter: Para actualizar el valor de una variable, la propiedad de acceso del setter es el método convencional que se utiliza. Se indican mediante la palabra clave set en un objeto literal.

Sintaxis:

1
2
3
4
set access_name(value) { 
    // the code executed on setting
    //obj.access_name = value, from setter 
}

Ejemplo:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
dieciséis
17
18
19
20
const company = {
    companyName : "tutorialspots",
    companyTag : "com",
       
    // Function that return the Full description
    // combined both companyName and companyTag
    get full_desc () {
        return `${company.companyName} ${company.companyTag}`
    },
             
    // It will return separetely companyName and companyTag
    set full_desc(value) {
        const parts = value.split (' ');
        this.companyName = parts[0];
        this.companyTag = parts[1];
    }
};
   
company.full_desc = "tutorialspots com";
console.log(company);

Resultado:

1
[LOG]: { "companyName": "tutorialspots", "companyTag": "com", "full_desc": "tutorialspots com" }

Publicar un comentario

0 Comentarios